在手动测试期间,可以使用 SOAtest 智能 API 测试生成器为 web 应用程序自动创建 API 测试。智能 API 测试生成器的开箱即用实现旨在帮助更快地启用 API 测试,但也可以“训练”它为你的项目创建更具体的测试。在本章节中:测试,但也可以“训练”它为您的项目创建更具体的测试。在本章节中:
Table of Contents | ||
---|---|---|
|
...
- 选择 Parasoft> Show View> Smart Test Templates 以打开智能测试模板视图(如果仍没有打开)。
- 单击 Add Template 按钮,为 .stt 文件指定名称和位置。
- (可选项)可以指定一个路径来创建组织 .stt 文件的嵌套文件夹。
e - 单击 Next。
选择要创建的资源套件类型。可以创建一个空的套件,或者基于服务初始化套件。
如果正在使用定义文件,请查阅以下部分以获得更多信息。
- 如果正在基于服务定义创建一个套件,并指定定义文件的位置,请单击 Next 。跳过这一步,创建一个空的套件。
- 单击 完成单击 Finish。
- 展开 .stt 文件,然后双击 Resource Suite。
- (可选项)可以禁用 Use Default Name 选项并文件指定名称。
- 在 Match 字段中指定一个模式来标识端点 you want the rules in this suite to apply to (请查阅 Defining Smart API Test Generation Scope)。Resolved 字段呈现模式预览。Nested Resource Suites 继承父资源套件的 Match 设置。可以确定如何构造模板文件并相应地配置匹配的模式。关于常见用例,请查阅 Example Smart Test Template 。
- 右键单击 Resource Suite,然后选择 Add New> Resource Template。
- (可选项)禁用 Use Default Name 选项,并在 Name 字段中指定资源模板的名称。
从 Method 下拉菜单中选择一种方法,并在 Match 字段中指定一种模式来标识端点 you want the rules in this suite to apply to (请查阅 Defining Smart API Test Generation Scope)。Resolved 字段呈现模式预览。资源模板继承父资源套件的 Match 设置。如果希望智能 API 测试生成器为 Match 字段中指定的所有子路径生成测试,则可以禁用 Exact Match 选项。Exact Match 选项默认是启用的。
当智能 API 测试生成器匹配资源模板中的设置时,会应用所有链接工具的配置。可以确定如何构造模板文件并相应地配置匹配的模式。关于常见用例,请查阅 Example Smart Test Template 。Info title 链接 JSON 断言器 JSON 断言器 工具,链接到资源模板的该工具可以配置为使用当前流量中的值。有关其他信息,请查阅 工具,链接到资源模板的该工具可以配置为使用当前通讯报文中的值。有关其他信息,请查阅 Adding JSON Assertions
- 右键单击 Resource Suite,然后选择 Add Output...
- 选择要在生成的测试中包含的工具,并且配置设置。例如,可以链接并配置 HTTP 配置工具,以便使用模板生成的所有测试套件都会根据被测试的应用程序自动进行身份验证(关于更多信息,请查阅 Enabling Authentication )。
- 根据需要添加额外的资源套件和资源模板。.stt 文件按顺序从头到尾处理。在下一个套件被处理之前,根据其层级结构处理每个资源套件。可以添加尽可能多的套件和模板,并链接尽可能多的工具,以培训智能 API 测试生成器。
- 保存变更。
从现有流量文件生成测试 从现有通讯报文文件生成测试 或使用 SOAtest 智能 API 测试生成器 将应用的 .stt 文件中定义的浏览器扩展和配置来创建新测试。
...
智能 API 测试生成器使用 HTTP 身份验证工具来为测试配置身份验证凭证。HTTP 身份验证工具是一种特殊的工具,你只能在 身份验证工具是一种特殊的工具,您只能在 .stt 文件中使用它。当智能 API 测试生成器匹配资源模板工具中的设置时,在 HTTP 身份验证工具中配置的凭证将应用于生成的测试。
...
智能 API 测试生成器使用 HTTP 数据头工具来为测试添加数据头字段。HTTP 数据头工具是一种特殊的工具,你只能在 数据头工具是一种特殊的工具,您只能在 .stt 文件中使用它。当智能 API 测试生成器匹配资源模板工具中的设置时, 在 HTTP 数据头工具中配置的任何数据头 都将自动添加到生成的测试。也可以使用功能此工具来覆盖测试在创建期间捕获到的数据值。
...
添加 JSON 断言
可以配置链接到资源模板工具的 JSON 断言来使用流量中的值。使用 断言来使用通讯报文中的值。使用 ==
或 equals
作为操作符,并设置值字段 [Smart - From Traffic]
。
...
- 如果将值断言的 Expected Value 字段设置为
[Smart - From Traffic]
,则将从记录的流量中设置值断言的 ,则将从记录的通讯报文中设置值断言的 Expected Value 字段。 - 如果将元素值字段设置为
[Smart - From Traffic]
并且操作设置为==
或equal
,那么将根据记录的流量设置值出现断言、数字断言和字符串比较断言的元素值字段和期望值字段。,那么将根据记录的通讯报文设置值出现断言、数字断言和字符串比较断言的元素值字段和期望值字段。 - 如果将值出现断言的期望值字段设置为
[Smart - From Traffic]
并且操作设置为==
,那么值出现断言的期望值字段被设置为1
或0
。 - 不会从流量中设置正则表达式断言、表达式断言和自定义断言的字段。不会从通讯报文中设置正则表达式断言、表达式断言和自定义断言的字段。
结构断言
- 如果出现断言的期望值字段设置为
[Smart - From Traffic]
并且操作设置为==
,那么出现断言的期望值字段被设置为1
或0
。 - 不会从流量中设置 不会从通讯报文中设置 Has内容断言、Has 子断言和类型断言的字段。
差异断言
- 如果 Base Value 字段设置为
[Smart - From Traffic]
并且流量值验证成功,则 并且通讯报文值验证成功,则 Base Value 字段将根据记录的流量设置。字段将根据记录的通讯报文设置。 - 如果将数字断言的 Difference Value 字段设置为
[Smart - From Traffic]
,则该字段将被设置为0
。 - 不会从流量中设置日期差异断言、日期时间差异断言的差异配置字段。不会从通讯报文中设置日期差异断言、日期时间差异断言的差异配置字段。
范围断言
- 如果 Lower Bound 和 Upper Bound 字段设置为
[Smart - From Traffic]
并且值验证成功,则该字段将根据记录的流量来设置。在本例中,相同的流量值将应用于断言中的所有字段。 并且值验证成功,则该字段将根据记录的通讯报文来设置。在本例中,相同的通讯报文值将应用于断言中的所有字段。
其他 JSON 断言器行为
默认情况下,智能 API 测试生成器忽略时间戳,但是可以将其配置为忽略其他参数以满足你的需要。有关更多详情,请查阅 测试生成器忽略时间戳,但是可以将其配置为忽略其他参数以满足您的需要。有关更多详情,请查阅 Test Creation Parameters 。
...
可以将现有 .tst 文件中的断言逻辑应用来培训智能 API 测试生成器。请查阅 Training the Smart API Test Generator Using a .tst File。
添加测试套件引用
可以在你的 可以在您的 .stt 文件中引用其他测试套件,这使你能够包含可能是正确执行测试所必需的额外设置步骤。每个资源模板工具只会添加一个被引用的测试套件。引用包含的测试作为生成套件中的第一个测试添加。 有关引用的更多信息,请查阅 文件中引用其他测试套件,这使您能够包含可能是正确执行测试所必需的额外设置步骤。每个资源模板工具只会添加一个被引用的测试套件。引用包含的测试作为生成套件中的第一个测试添加。 有关引用的更多信息,请查阅 重用和模块化端到端测试的测试套件 。
- 右键单击 Resource Template 工具,然后选择 Add Output...
- 展开 Suite 类别,然后选择 Beginning。
- 在 Smart 类别中选择 Test Suite Reference ,然后单击 Finish。
- 指定要在测试套件引用编辑器中引用的测试套件位置。
可以单击 File System 或 Workspace 浏览要引用的 .tst 文件。 - 保存变更。
使用 .tst 文件培训智能 API 测试生成器
可以使用现有的 REST Clients 来教智能 API 测试生成器身份验证设置和 JSON 断言逻辑。可以从 .tst 文件、测试套件或 REST 客户机节点创建培训规则。SOAtest 将在与 REST 客户机中指定的路径最接近的资源模板下创建 HTTP 身份验证或 JSON 断言器。如果没有找到匹配项,那么将为每个规则创建新的 .stt 文件。.stt 文件将包含资源套件和资源模板,配置它们的 Match 设置以匹配 REST 客户机的端点。
...
- 右键单击 Test Explorer 中的 .tst 文件、测试套件或 REST 客户机节点,并选择 Train Smart Test Template。
提示时查看规则。智能 API 测试生成器将尝试配置现有 .stt 文件中的资源,并相应地添加新规则。如果没有找到匹配的 .stt,则将创建一个新文件。
Info title 使用 JSON 断言器培训智能 API 测试生成器 具有固定值的等价断言(使用
==
或equals
操作符)将基于流量来创建。如果值 操作符)将基于通讯报文来创建。如果值 使用非等价断言参数化,则链接到资源的断言器将被转换为设置为[Smart - User Input]
的固定值。 关于参数化的等价断言,值将为[Smart - From Traffic]
。新断言将被添加到 .stt 问价浓重的现有断言器。
- 单击 OK 更新或向包含在 REST 客户机中配置的设置的 Smart Test Templates 视图中添加一个新的 .stt 文件。如果创建的一个新的 .stt 文件,则将根据是否教授智能 API 测试生成器身份验证设置或断言逻辑来确定文件名。对于断言,将使用原始客户机的 basePath 作为名称。对于身份验证,该名称将基于原始客户机中配置的主机名。如果主机名和/或 basePath 在原始客户机汇总进行了参数化,则资源将命名为 "Template.stt"。可以右键单击智能测试模板视图中的文件,并重命名它。
- 双击资源套件和资源模板,并配置它们的 Match 设置来定义测试生成范围。请查阅 Defining Smart API Test Generation Scope。
- 可以手动添加其他资源来完成配置 .stt 文件。请查阅 Manually Creating and Configuring Test Templates。
示例智能测试模板
测试模板的结构将取决于你想要如何测试应用程序。在本例中,测试模板的结构将取决于您想要如何测试应用程序。在本例中,.stt 表示被测试的应用程序(CTP)。
资源套件配置来匹配主机 "emdemo” 上的任何 schema、port 和路径。因此,为 emdemo 生成的任何测试都将在测试引用套件中包含工具引用。此外,测试将分别在 HTTP 身份验证和 HTTP 数据头工具中配置身份验证和数据头设置。
...