您可以配置代理端口,指定测试创建选项,并访问 API,以便该工具可以在自动化工作流中使用。在本章节中:
代理系统属性
可以在 Manage Web Proxy 控制台中指定系统属性,或者在执行 .jar 文件时从命令行指定系统属性,从而配置 web 代理。可以配置以下属性:
-DapiPort | 指定 API 端口号的系统属性。默认为 40090 。 |
---|---|
-DproxyPortStart | 指定扫描打开端口时的起始端口号的系统属性。默认为 |
-DproxyPortRange | 限制在启动端口号之后扫描的端口数量的系统属性(值由 |
-DuseSystemProxy | 启用使用网络级代理的系统属性。默认为 |
-Ddebug | 启用/禁用系统调试信息。默认为 false 。 |
管理 Web 代理示例
将系统属性添加到 Java 选项卡中的 Java Options 字段。下面的示例将 API 端口设置为 45000 并启用调试:
命令行示例
在命令行启动时指定配置选项。下面的启动命令将 API 端口设置为 10090,扫描一系列端口号并启用调试:
%INSTALLDIR%/jre/bin/java -DapiPort=10080 -DproxyPortStart=20443 -DproxyPortRange=10 -Ddebug=true -jar com.parasoft.traffic.proxy.jar
Java 支持
智能 API 测试生成器附带了自己的 Java 实例,然而也可以使用系统上已安装的任何 Java 8 或以上版本。
测试创建属性
可以通过在 tst_create.properties 配置文件中定义属性来确定记录器如何生成测试。这个 tst_creation.properties 文件位于 TestAssets 文件夹下的工作区中。默认情况下,所有连接到 SOAtest 服务器的 web 代理都将使用此文件中配置的设置。
这个 tst_create.properties 的一个实例还附带安装在本地机器上的 web 代理。可以在本地文件中配置设置 useServerSettings
属性为 false
(请查阅 useServerSettings),以覆盖在 tst_create.properties 文件中配置的设置。如果希望使用本地设置,请确保 tst_create.properties 文件与 com.parasoft.traffic.proxy.jar 文件位于同一个目录中,因此可以在创建测试时自动读取它。
如果 tst_creation.properties 文件被移动或删除,将应用所有默认设置。
includeContentTypes | 定义要在流量处理期间包含的内容类型的逗号分隔列表。默认为 application/json,application/x-www-form-urlencoded |
---|---|
excludeContentTypes | 定义不在流量处理期间包含的内容类型的逗号分隔列表。默认为空。 |
disableDiffCreation | 启动/禁用 diff 创建。有关其他信息,请查阅 Diff 。默认为 |
disableDiffParameterization | 启动/禁用 diff 参数。参数化使您能够在 diff 中使用数据存储值。如果禁用 diff 参数化(将此属性设置为 true ),只有静态值可用。默认为 false 。 |
disableEnvironmentCreation | 启用/禁用环境和环境变量的创建。默认为 false 。 |
disableDataBankCreation | 启用/禁用数据库创建。有关其他信息,请查阅 数据交换工具 。默认为 |
disableAssertorCreation | 启用/禁用 JSON 断言器工具的创建。默认为 false 。查阅 JSON 断言器 以获得其他信息。 |
diffToolIgnoreNames.<number> | 定义一个正则表达式匹配的元素名,在创建差异时应该忽略该元素名。默认为 可以通过添加属性并添加 例如:
|
diffToolIgnoreValues.<number> | 定义一个正则表达式匹配的值,在创建差异时应该忽略该元素名。默认忽略时间戳:
可以通过添加属性并添加 例如:
|
assertorToolIgnoreQueryParameterNames.<number> | 定义一个匹配 查询参数名 的正则表达式,在创建 JSON 断言器 工具时应该忽略该参数名。 默认是忽略以“maxResultsSize”开头的查询名:
该属性不区分大小写。 可以通过添加属性和附加 |
assertorToolIgnoreQueryParameterValues.<number> | 定义一个匹配 查询参数值的正则表达式, 在创建 JSON 断言器 工具时应该忽略该参数值。 在基于参数值模式创建断言时忽略查询参数 默认忽略时间戳:
可以通过添加属性和附加 |
assertorToolIgnoreFieldNames.<number> | 在响应有效负载中定义一个正则表达式匹配值,在创建 JSON Assertor 工具时应该忽略该值。默认值是忽略响应负载中以时间、日期、url、href、SessionId 或 transactionId 开头的值。 默认忽略时间戳:
该属性不区分大小写。 可以通过添加属性和附加 |
assertorToolIgnoreFieldValues.<number> | 定义在创建 JSON 断言器 工具时应该忽略的正则表达式匹配值。默认忽略时间戳:
可以通过添加属性并附加 例如:
|
includeURLPatterns | 定义一个逗号分隔的资源 URL 模式列表,其中包含用于生成测试的模式。可以使用 Ant 样式语法定义区分大小写的模式。默认值是包含所有 URL。 在下面的示例中,将包括 parasoft.com 域中的所有 URL:
|
excludeURLPatterns | 定义一个逗号分隔的资源 URL 模式列表,其中不包含用于生成测试的模式。可以使用 Ant 样式语法定义区分大小写的模式。默认值是包含所有 URL。 在下面的例子中,parasoft.com 域中端口 8443 的所有 URL 都将被排除:
|
useServerSettings | 在 SOAtest 服务器上使用 tst_create.properties 文件中的设置(而不是本地 tst_create.properties 文件中的设置)启用/禁用。默认为 true 。 |
includeContentTypes=application/json, application/x-www-form-urlencoded excludeContentTypes=image/png,font/ttf,text/css,application/javascript disableDiffCreation=false disableDiffParameterization=false disableEnvironmentCreation=false disableDataBankCreation=false disableAssertionCreation=true # Ignore values that start with "time", "date", "url" or "href" in diff tool, case insensitive diffToolIgnoreNames.1=(?i)^(time|date|url|href).* # Ignore values that end with "time", "date", "url" or "href" in diff tool, case insensitive diffToolIgnoreNames.2=(?i).*(time|date|url|href)$ # Ignore values like a timestamp in diff tool, e.g. 2018-03-21T07:00:00.000Z diffToolIgnoreValues.1=[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}([.][0-9]{1,3})?(([+-][0-9]{2}:[0-9]{2})|Z)? # Ignore query parameters when creating assertions based on parameter name pattern assertorToolIgnoreQueryParameterNames.1=(?i)^(maxResultSize).* # Ignore query parameters when creating assertions based on parameter value pattern assertorToolIgnoreQueryParameterValues.1=[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}([.][0-9]{1,3})?(([+-][0-9]{2}:[0-9]{2})|Z)? # Ignore fields in payload when creating assertions based on field name pattern assertorToolIgnoreFieldNames.1=(?i)^(time|date|url|href|SessionId|transactionId).* # Ignore fields in payload when creating assertions based on field value pattern assertorToolIgnoreFieldValues.1=[0-9]\{4}-[0-9]\{2}-[0-9]\{2}T[0-9]\{2}:[0-9]\{2}:[0-9]\{2}([.][0-9]\{1,3})?(([+-][0-9]\{2}:[0-9]\{2})|Z)? # Comma separated list of URL patterns where pattern matching is the same as Apache Ant. URLs can be case sensitive. includeURLPatterns=http://{host}:8080/path/**/resources/* excludeURLPatterns=https://{host}:8443/path/**/resources/*
使用 API
启动 web 代理后,可以跳转至以下 URL 查看 API 定义:
http://<host>:<port>/api/openapi.json
培训智能测试生成器
有关如何教授智能测试生成器如何为项目创建测试的信息,请查阅 培训智能 API 测试生成器 。