您可以配置代理端口,指定测试创建选项,并访问 API,以便该工具可以在自动化工作流中使用。在本章节中:

代理系统属性

可以在 Manage Web Proxy 控制台中指定系统属性,或者在执行 .jar 文件时从命令行指定系统属性,从而配置 web 代理。可以配置以下属性:  

-DapiPort指定 API 端口号的系统属性。默认为 40090
-DproxyPortStart

指定扫描打开端口时的起始端口号的系统属性。默认为 40443

-DproxyPortRange

限制在启动端口号之后扫描的端口数量的系统属性(值由 proxyPortStart 参数指定)。设置为 0 以防止扫描。

-DuseSystemProxy

启用使用网络级代理的系统属性。默认为 true

-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 。默认为 false

disableDiffParameterization启动/禁用 diff 参数。参数化使您能够在 diff 中使用数据存储值。如果禁用 diff 参数化(将此属性设置为 true),只有静态值可用。默认为 false
disableEnvironmentCreation启用/禁用环境和环境变量的创建。默认为 false
disableDataBankCreation

启用/禁用数据库创建。有关其他信息,请查阅 数据交换工具 。默认为 false

disableAssertorCreation启用/禁用 JSON 断言器工具的创建。默认为 false查阅 JSON 断言器 以获得其他信息。
diffToolIgnoreNames.<number>

定义一个正则表达式匹配的元素名,在创建差异时应该忽略该元素名。默认为 (?i)^(time|date|url|href).*

可以通过添加属性并添加 .<number>来指定其他名称模式。

例如:

diffToolIgnoreNames.1=<name_pattern_1>

diffToolIgnoreNames.2=<name_pattern_3>

diffToolIgnoreNames.3=<name_pattern_3>

diffToolIgnoreValues.<number>

定义一个正则表达式匹配的值,在创建差异时应该忽略该元素名。默认忽略时间戳:

[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)?

可以通过添加属性并添加 .<number>来指定值模式。

例如:

diffToolIgnoreValues.1=<value_pattern_1>

diffToolIgnoreValues.2=<value_pattern_3>

diffToolIgnoreValues.3=<value_pattern_3>

assertorToolIgnoreQueryParameterNames.<number>

定义一个匹配 查询参数名 的正则表达式,在创建 JSON 断言器 工具时应该忽略该参数名。

默认是忽略以“maxResultsSize”开头的查询名:

(?i)^(maxResultSize).*

该属性不区分大小写。

可以通过添加属性和附加 .<number>来指定其他模式。

assertorToolIgnoreQueryParameterValues.<number>

定义一个匹配 查询参数值的正则表达式, 在创建 JSON 断言器 工具时应该忽略该参数值。

在基于参数值模式创建断言时忽略查询参数

默认忽略时间戳:

[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)?

可以通过添加属性和附加 .<number>来指定其他模式。

assertorToolIgnoreFieldNames.<number>

在响应有效负载中定义一个正则表达式匹配值,在创建 JSON Assertor 工具时应该忽略该值。默认值是忽略响应负载中以时间、日期、url、href、SessionId 或 transactionId 开头的值。

默认忽略时间戳:

(?i)^(time|date|url|href|SessionId|transactionId).*

该属性不区分大小写。

可以通过添加属性和附加 .<number>来指定其他模式。

assertorToolIgnoreFieldValues.<number>

定义在创建 JSON 断言器 工具时应该忽略的正则表达式匹配值。默认忽略时间戳:

[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)?

可以通过添加属性并附加 .<number>来指定值模式。

例如:

assertorToolIgnoreFieldValues.1=<value_pattern_1>

assertorToolIgnoreFieldValues.2=<value_pattern_3>

assertorToolIgnoreFieldValues.3=<value_pattern_3>

includeURLPatterns

定义一个逗号分隔的资源 URL 模式列表,其中包含用于生成测试的模式。可以使用 Ant 样式语法定义区分大小写的模式。默认值是包含所有 URL。

在下面的示例中,将包括 parasoft.com 域中的所有 URL:

includeURLPatterns=*.parasoft.com

excludeURLPatterns

定义一个逗号分隔的资源 URL 模式列表,其中不包含用于生成测试的模式。可以使用 Ant 样式语法定义区分大小写的模式。默认值是包含所有 URL。

在下面的例子中,parasoft.com 域中端口 8443 的所有 URL 都将被排除:

excludeURLPatterns=*.parasoft.com:8443

useServerSettings

在 SOAtest 服务器上使用 tst_create.properties 文件中的设置(而不是本地 tst_create.properties 文件中的设置)启用/禁用。默认为 true
示例 tst_creation.properties 文件
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 测试生成器 。

  • No labels