章节目录:

概要

SOAtest 可以使用 Parasoft 录制器捕获到的 API 通讯报文为 web 应用程序自动创建 API 测试。以这种方式创建的测试称为“智能” API 测试。开箱即用的实现旨在帮助您快速启动测试,但您也可以“指导”SOAtest 您希望生成智能 API 测试的方式。

您还可以在 SOAtest 随附的测试创建属性文件中配置设置,从而自定义生成测试的方式:

SOAtest 将根据 Parasoft 录制器配置,使用合适的测试创建配置文件自动创建测试。更多信息,请参阅 Parasoft 录制器

关于智能测试模板 

您可以创建智能测试模板(.stt)文件来定义确定测试生成行为的规则。这些文件包含一个或多个资源套件这些资源套件标识了将要应用测试生成规则的应用程序路径。 

资源套件包含一个或多个资源模板,这些模板定义了在生成智能测试时要包括的 API 方法和资源的范围。可以将工具链附加资源模板中,并配置它们来定义特定的测试生成行为。链接到资源模板的工具根据资源模板中定义的范围应用 

SOAtest 创建新的智能 API 测试时,它将读取并应用 .stt 文件中指定的规则。 

手动创建并配置测试模板

可以使用智能测试模板视图创建并管理 .stt 文件。此外,可以添加多个 .stt 文件并将它们组织到文件夹中。

  1. 选择 Parasoft> 显示视图> 智能测试模板以打开智能测试模板视图(如果还没有打开)。
  2. 点击工具栏中的添加模板按钮,为 .stt 文件指定名称和位置。
  3. (可选项)可以指定一个路径来创建组织 .stt 文件的嵌套文件夹。
     e
  4. 点击下一步
  5. 选择要创建的资源套件类型。可以创建一个空的套件,或者基于服务初始化套件。

    如果正在使用定义文件,请参阅以下部分以获得更多信息:

    从 OpenAPI/Swagger 定义中创建测试

    从 RAML 定义中创建测试

    从 WADL 中创建测试

  6. 如果正在基于服务定义创建一个套件,并指定定义文件的位置,请点击下一步。跳过这一步,创建一个空的套件。
     
  7. 点击完成
  8. 展开 .stt 文件,然后双击资源套件。 
  9. (可选项)可以禁用使用默认名称并指定文件名称。
  10. 匹配字段中指定一个模式,以确定您希望本套件中的规则适用于哪些端点(请参阅Defining Smart API Test Generation Scope)。已完成字段呈现模式预览。嵌套的资源套件继承父资源套件的匹配设置。可以确定如何构造模板文件并相应地配置匹配的模式。关于常见用例,请参阅Example Smart Test Template。  
  11. 右键点击资源套件,然后选择新建> 资源模板
  12. (可选项)禁用使用默认名称,并在名称字段中指定资源模板的名称。
  13. 方法下拉菜单中选择一种方法,并在匹配字段中指定一种模式,以确定要将本套件中的规则应用于哪些端点(请参阅Defining Smart API Test Generation Scope)。已完成字段呈现模式预览。资源模板继承父资源套件的匹配设置。如果希望 SOAtest 为匹配字段中指定的所有子路径生成测试,则可以禁用精确匹配精确匹配默认启用。

    SOAtest 确定资源模板中的匹配项时,将应用来自所有链式工具的配置。可以确定如何构造模板文件并相应地配置匹配的模式。关于常见用例,请参阅Example Smart Test Template

    链接 JSON 断言器

    JSON 断言器 工具,链接到资源模板的该工具可以配置为使用当前通讯报文中的值。更多信息,请参阅 Adding JSON Assertions。 

  14. 右键点击资源套件,然后选择添加输出...
  15. 选择要在生成的测试中包含的工具,并且配置设置。例如,可以链接并配置 HTTP 配置工具,以便使用模板生成的所有测试套件都会根据被测试的应用程序自动进行身份验证(关于更多信息,请参阅Enabling Authentication)。
  16. 根据需要添加额外的资源套件和资源模板。.stt 文件按顺序从头到尾处理。在下一个套件被处理之前,根据其层级结构处理每个资源套件。可以添加尽可能多的套件和模板,并链接尽可能多的工具,以培训 SOAtest。 
  17. 保存变更。

从现有通讯报文文件生成测试或使用 Parasoft 录制器 将应用的 .stt 文件中定义的浏览器扩展和配置来创建新测试。 

定义智能 API 测试生成器范围

在资源套件和资源模板中定义的模式将根据以下规则进行匹配:

  • 花括号({})表示通配符并可以包含任意文本。例如,可以指定翻译为 scheme、host 和 port 的模式:

    {scheme}://{host}:{port}
     
  • 星号 (*) 也表示通配符。一个单星号加一个花括号可以互换使用:

    {scheme}://{host}:*/parabank/*/accounts/{id}

  • 可以使用双星号来匹配多个目录。

    {scheme}://{host}:*/parabank/**/{id}

  • 排除 scheme、host 和 port 将匹配任何 scheme、host 和 port。例如,以下模式匹配任何主机、端口和方法上的特定路径:

    /parabank/services_proxy/bank/accounts/{id}
     
  • 为端口号视为通配符的端口指定一个负数或一个大于 65535 的数。
  • 资源模板和嵌套资源套件继承父资源套件的 Match 设置。 
  • 如果希望 SOAtest 为匹配字段中指定的所有子路径生成测试,则可以禁用精确匹配选项。资源模板中的精确匹配选项默认是启用的。 

默认范围

默认情况下,SOAtest 将为场景中调用的所有资源创建测试,并且只对使用资源模板工具标识的资源应用培训工具。然而,可以配置 SOAtest,通过在 tst_configuration.properties 文件中的 includeURLPatterns 和 excludeURLPatterns 中指定 Ant 风格模式,包含或排出测试生成中特定的资源 URL。更多信息,请参阅测试创建属性。 

启用身份验证

SOAtest 使用 HTTP 身份验证工具来为测试配置身份验证凭据。HTTP 认证工具是一种特殊的工具,您只能在 .stt 文件中使用它。当 SOAtest 匹配资源模板工具中的设置时,在 HTTP 身份验证工具中配置的凭据将应用于生成的测试。 

  1. 右键点击测试套件,选择添加输出..
  2. 展开请求菜单,选择传输头文件
  3. 从工具面板选择 HTTP 认证,然后点击完成。 
  4. 在 HTTP 认证工具中配置身份验证设置。支持以下身份验证:
    • Basic(HTTP 协议中内置的简单身份验证)
    • NTLM
    • Kerberos
    • Digest

关于配置身份验证设置的更多信息,请参阅以下部分:

SOAtest

添加头部

SOAtest 使用 HTTP 消息头工具来为测试添加头字段。HTTP 消息头工具是一种特殊的工具,您只能在 .stt 文件中使用它。当 SOAtest 匹配资源模板工具中的设置时,在 HTTP 消息头工具中配置的任何头部都将自动添加到生成的测试。还可以使用此工具覆盖创建测试时捕获的头部值。 

  1. 右键点击资源模板工具,选择添加输出..
  2. 展开请求菜单,选择传输头文件
  3. 从工具面板选择 HTTP 消息头,然后点击完成。 
  4. 点击工具设置部分中的添加选项来定义值。
  5. 保存变更。

添加 JSON 断言

可以配置链接到资源模板工具的 JSON 断言来使用通讯报文中的值。使用 == 或 equals 作为运算符,并设置值字段 [Smart - From Traffic]

按类型划分的 JSON 断言器行为

可以在测试中使用几种类型的断言(更多信息,请参阅 JSON 断言器)。以下部分描述 SOAtest 如何为每种断言类型应用设置。

值断言

  • 如果将值断言的预期值字段设置为 [Smart - From Traffic],则将从录制的通讯报文中设置值断言的预期值字段。
  • 如果将元素值字段设置为 [Smart - From Traffic] 并且操作设置为 == 或 equal,那么将根据记录的通讯报文设置值出现断言、数字断言和字符串比较断言的元素值字段和期望值字段。
  • 如果将值出现断言的期望值字段设置为 [Smart - From Traffic] 并且操作设置为 ==,那么值出现断言的期望值字段被设置为 1 或 0
  • 不会从通讯报文中设置正则表达式断言、表达式断言和自定义断言的字段。

结构断言

  • 如果出现断言的期望值字段设置为 [Smart - From Traffic] 并且操作设置为 ==,那么出现断言的期望值字段被设置为 1 或 0
  • 不会从通讯报文中设置有内容断言、有子断言和类型断言的字段。

差异断言

  • 如果基准值字段设置为 [Smart - From Traffic] 并且通讯报文值验证成功,则基准字段将根据录制的通讯报文设置。
  • 如果将数字断言的不同值字段设置为 [Smart - From Traffic],则该字段将被设置为 0
  • 不会从通讯报文中设置日期差异断言、日期时间差异断言的差异配置字段。

范围断言

  • 如果下限值和上线值字段设置为 [Smart - From Traffic] 并且值验证成功,则该字段将根据记录的通讯报文来设置。在本例中,相同的通讯报文值将应用于断言中的所有字段。

其他 JSON 断言器行为

默认情况下,SOAtest 忽略时间戳,但是可以将其配置为忽略其他参数以满足您的需要。更多信息,请参阅测试创建参数。  

根据 .tst 文件中的断言培训模板

可以将现有 .tst 文件中的断言逻辑应用来培训智能 API 测试生成器。请参阅Training Based on .tst Files

添加测试套件引用

可以在您的 .stt 文件中引用其他测试套件,这使您能够包含可能是正确执行测试所必需的额外设置步骤。每个资源模板工具只会添加一个被引用的测试套件。引用包含的测试作为生成套件中的第一个测试添加。 

相对路径是相对于 TestAssets 项目的。如需引用其他项目中的测试,请使用 ${project_loc} 变量。 有关引用的更多信息,请参阅为端到端测试复用和模块化测试套件

  1. 右键点击资源模板工具,选择添加输出...
  2. 展开套件类别,选择开始
  3. 在 Smart 类别中选择 测试套件引用,然后点击完成。   
  4. 指定要在测试套件引用编辑器中引用的测试套件位置。

    可以点击文件系统工作空间浏览要引用的 .tst 文件。 
  5. 保存变更。 

基于 .tst 文件的培训

您可以教 SOAtest 生成测试,这些测试包括来自现有 REST 客户端的身份验证设置和 JSON 断言逻辑。SOAtest 将在与 REST 客户端中指定的路径最接近的资源模板下创建 HTTP 认证或 JSON 断言器。如果未标识匹配项,将创建新的 .stt 文件,其中包含每个 REST 客户端 URL 的资源模板。.stt 文件将包含资源套件和资源模板,配置它们的 Match 设置以匹配 REST 客户端的端点。 

新的 .stt 文件的匹配模式基于您指导 SOAtest 的规则类型。对于身份验证,使用 REST 客户端的 Schema、host 和 port 设置父套件匹配。父套件中包含的资源模板将被配置来匹配 REST 客户端的 basePath 和所有子路径和方法类型。

在指导 SOAtest 断言规则和测试套件的结构时,使用 REST 客户端的 basePath 设置父套件匹配。子路径在嵌套套件匹配和/或资源模板匹配中配置。资源模板将配置来匹配特定方法类型上的“精确”字段。

  1. 右键点击测试浏览器中的 .tst 文件、测试套件或 REST 客户端节点,并选择训练智能测试模板

  2. 提示时查看概要信息。SOAtest 将尝试配置现有 .stt 文件中的资源,并相应地添加新规则。如果没有找到匹配的 .stt,则将创建一个新文件。   

    使用 JSON 断言器培训智能 API 测试生成器

    具有固定值的等价断言(使用 ==equals 运算符)将基于通讯报文来创建。如果值使用非等价断言参数化,则链接到资源的断言器将被转换为设置为 [Smart - User Input] 的固定值。  关于参数化的等价断言,值将为 [Smart - From Traffic]

    新断言将被添加到 .stt 问价浓重的现有断言器。

  3. 点击 OK 更新或向包含 REST 客户端中配置的设置的智能测试模板视图中添加一个新的 .stt 文件。如果创建了新的 .stt 文件,则文件将根据原始客户端的 URL 进行命名。模板资源将按基本路径段分组。可以右键点击智能测试模板视图中的文件并重命名。 
  4. 双击资源套件和资源模板,并配置它们的匹配设置来定义测试生成范围。请参阅Defining Smart API Test Generation Scope 
  5. 可以手动添加其他资源来完成配置 .stt 文件。请参阅Manually Creating and Configuring Test Templates

将智能测试模板应用于现有 .tst 文件

可以更新现有测试以使用 .stt 文件中定义的规则。如果您已经拥有 REST 客户端,并且希望通过模板快速应用一组标准的断言、身份验证设置和头部,则通常可以使用该功能。 

  1. 右键点击要应用规则的 .tst 文件,然后选择应用智能测试模板
     
  2. SOAtest 会将资源路径与 REST 客户端 URL 匹配,并将在 .stt 中定义的规则应用于具有匹配 URL 的客户端(有关匹配条件的详细信息,请参阅Defining Smart API Test Generation Scope)。提示时检查变更,然后点击 OK。   
     

示例智能测试模板

测试模板的结构将取决于您想要如何测试应用程序。下面的示例 .stt 表示被测应用程序的一种方式(CTP)。 

资源套件配置来匹配主机“emdemo”上的任何 Schema、port 和 path。因此,为 emdemo 生成的任何测试都将在测试引用套件中包含工具引用。此外,测试将分别在 HTTP 认证和 HTTP 消息头工具中配置身份验证和头部设置。  

每个资源模板都指向 emdemo 下的特定路径。每个资源模板中指定路径生成的任何测试都将包含链接工具中的配置。例如,配置“Resource 3”以匹配“/em/virtualassets/manage”路径。因此,包含此路径的测试将包括一个 JSON 断言器,该断言器被配置为验证响应中返回的资产配置。 

为 Salesforce 配置智能 API 测试生成器 

Salesforce 应用程序体系结构需要智能 API 测试生成来实现特定配置以正确生成测试。SOAtest 在工作空间中创建 TestAssets/test_templates 目录,并生成 salesforce_tst_creation.properties 配置文件,其中默认包含以下推荐配置: 

applicationType=Salesforce

customHandlerClass.1=com.parasoft.webtool.testcreator.handlers.salesforce.AuraConfig

includeContentTypes=application/json, application/x-www-form-urlencoded, text/html, text/plain
disableDiffCreation=true
includeURLPatterns=**.force.com,**.salesforce.com

excludeURLPatterns=*/jslibrary/,/file-asset/,/auraFW/resources/,/auraCmpDef?**,*/LayoutMeta?**,*/cometd/,/_nc_external/system/,/apex/,/l/**,**/contentDoor?**,/customerportal/**,**/promos.html

requestPayloadParameterizationExcludeNames.1=^pageSize$
requestPayloadParameterizationExcludeNames.2=^max[A-Za-z]+
requestPayloadParameterizationExcludeNames.3=^actionsRequestId$
requestPayloadParameterizationExcludeNames.4=^request$
requestPayloadParameterizationExcludeNames.5=^numRecordsToShow$
requestQueryStringParameterizationExcludeNames.1=^r$

您可以创建该文件的多个实例并自定义配置,这样 SOAtest 就能生成智能测试,帮助您实现测试目标。如果创建了 salesforce_tst_creation.properties 文件的不同实例,可以使用 applicationType 属性指定唯一名称,这样 SOAtest 接口就能区分配置的不同实例(请参阅从通讯报文创建 Smart API 测试)。 

为 Guidewire 配置智能 API 测试生成器

Guidewire 应用程序体系结构需要智能 API 测试生成来实现特定配置以正确生成测试。SOAtest 在工作空间中创建 TestAssets/test_templates 目录,并为工作空间生成 guidewire_tst_creation.properties 配置文件,其中默认包含以下推荐配置: 

applicationType=Guidewire

includeContentTypes=application/json, application/x-www-form-urlencoded, multipart/form-data
disableDiffCreation=true
includeURLPatterns=**/cag/j_spring_security_check,**/bc/*.do,**/pc/*.do

您可以创建该文件的多个实例并自定义配置,这样 SOAtest 就能生成智能测试,帮助您实现测试目标。如果创建了 guidewire_tst_creation.properties 文件的不同实例,可以使用 applicationType 属性指定唯一的名称,以便 SOAtest 接口区分不同的配置实例(请参阅从通讯报文创建 Smart API 测试)。 

测试创建属性

您可以在 tst_creation.properties 置文件中定义其他测试创建属性。tst_creation.properties 文件位于 SOAtest 工作空间的 TestAssets/test_templates 文件夹下。默认情况下,所有连接到 SOAtest 服务器的 web 代理都将使用此文件中配置的设置。 

您可以创建该文件的多个实例并自定义配置,这样 SOAtest 就能生成智能测试,帮助您实现测试目标。如果创建了 tst_creation.properties 文件的不同实例,可以使用 applicationType 属性指定唯一名称,这样 SOAtest 接口就能区分配置的不同实例(请参阅从通讯报文创建 Smart API 测试)。 

applicationType定义配置文件的唯一标识符,以便从不同的 SOAtest 界面读取,例如生成智能 API 通讯报文向导界面(请参阅从通讯报文创建 Smart API 测试)。 
customHandlerClass.<number>参阅为 Salesforce 配置智能 API 测试生成器
includeContentTypes定义要在通讯报文处理期间包含的内容类型的逗号分隔列表。默认为 application/json,application/x-www-form-urlencoded
excludeContentTypes定义不在通讯报文处理期间包含的内容类型的逗号分隔列表。默认为空。
disableDiffCreation

启动/禁用比较工具创建。更多信息,请参阅比较工具。默认为 false

disableDiffParameterization启动/禁用比较工具参数。参数化使您能够在比较工具中使用数据存储值。如果禁用比较工具参数化(将此属性设置为 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 断言器工具时应该忽略该值。默认值是忽略响应有效负载中以时间、日期、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。

下面的示例描述了常见的场景:

# 包括主机 'www.example.com' 的任何 URL  

includeURLPatterns=www.example.com 

# 包括 'example' 域中的 URL

includeURLPatterns=*.example.com 

# 包括带有 'path' 段的 URL

includeURLPatterns=**/path/**

# 包含以 '路径' 段结尾且没有查询字符串的 URL

includeURLPatterns=**/path

# 包含以 'path' 段结尾并带有查询字符串的 URL

includeURLPatterns=**/path?**

excludeURLPatterns

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

下面的示例描述了常见的场景:

# 不包括主机 'www.example.com' 的任何 URL  

excludeURLPatterns=www.example.com 

# 不包括 'example' 域中的 URL

excludeURLPatterns=*.example.com 

# 不包括带有 'path' 段的 URL

excludeURLPatterns=**/path/**

# 不包括 'path' 段结尾且没有查询字符串的 URL

excludeURLPatterns=**/path

# 不包括 'path' 段结尾并带有查询字符串的 URL

excludeURLPatterns=**/path?**

includeTextResponseValues.<number>

定义测试生成器考虑可能会提取到数据库中的正则表达式匹配值。如果找到匹配项,则会考虑与括号中的模式匹配的子字符串。至少需要一组括号来定义期望值及其边界。 

两个参数默认使用以下 regex 模式配置:

includeTextResponseValues.1="([-A-Za-z0-9%_=+./]{10,})"

includeTextResponseValues.2='([-A-Za-z0-9%_=+./]{10,})'

includeTextResponseContentTypes定义以逗号分隔的内容类型列表,测试生成器将根据 includeTextResponseValues 参数进行处理。默认为 text/html。 
requestPayloadParameterizationExcludeNames.<number>

定义与请求有效负载中应从参数化中排除的字段名称匹配的正则表达式。

以下示例从参数化中排除日期和时间字段名称:

requestPayloadParameterizationExcludeNames.1=(?i)^(time|date).*

requestQueryStringParameterizationExcludeNames.<number>

定义与请求查询中应从参数化中排除的字段名称匹配的正则表达式。

以下示例从参数化中排除日期和时间字段名称:

requestPayloadParameterizationExcludeNames.1=(?i)^(time|date).*

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/*

# Exclude from being parameterized field names in request payload
requestPayloadParameterizationExcludeNames.1=(?i)^(time|date).*

升级 SOAtest

当 SOAtest 升级到较新版本时,已有的 tst_creation.properties 文件将添加新版本中包含的新参数,并标注版本号。例如:

version=2

# ====== SOAtest 2020.2 RELEASE UPDATES ======
# Consider values in text responses as candidates to be databanked based on matching pattern.
# If a match is found, extract the substring that matches the pattern enclosed by the parentheses as the candidate.
# At least one pair of parentheses is required; otherwise, no value will be extracted.
includeTextResponseValues.1="([-A-Za-z0-9%_=+./]{10,})"
includeTextResponseValues.2='([-A-Za-z0-9%_=+./]{10,})'

# Consider only these text response types for extracting response values
includeTextResponseContentTypes=text/html


# ====== PREVIOUSLY CONFIGURED SETTINGS ======
includeContentTypes=application/json, application/x-www-form-urlencoded
#excludeContentTypes=
#disableDiffCreation=false
#disableDiffParameterization=false
#disableEnvironmentCreation=false
#disableDataBankCreation=false
#disableAssertorCreation=false
# Ignore values that start with "time", "date", "url" or "href" in diff tool, case insensitive
...

如果移动或删除现有文件,将应用所有默认设置以及从最新更新中添加的新设置。将应用扩展名为 .bak 的原始文件备份。

  • No labels