Page tree

Skip to end of metadata
Go to start of metadata

本主题说明了如何配置并适用不同的环境。在本章节中:

了解环境

环境是可以在以下字段中引用的变量集合:  测试配置。你可以使用环境变量来指定端点、数据库表名、连接属性,如登录凭证等。变量的名称将替换为活动环境中指定的值。通过切换哪个环境是“活动”环境,你可以在运行时动态切换特定于环境的值。

当你从定义(如 WSDL)生成 Parasoft 资产时,将自动定义环境,但是你也可以手动定义环境,如下所述。

手动定义环境

创建和切换环境是通过 下面的Environments 分支来实现的: 

测试套件的测试用例资源管理器节点。

在创建新的测试套件时,默认情况下会创建 Environments 分支。


若要创建一个新的环境,请完成以下内容:

  1. 右键单击 Environments 节点,然后选择 NewEnvironment
  2. 重命名环境(可选)并单击表中的字段来定义环境变量和值。 

屏蔽变量值

你可以右键单击变量,并选择 Mask Variable Value 以将该值隐藏在接口中。

屏蔽值可防止 REST 客户端 显示已解析值。


在测试和工具中使用环境变量 

可以使用特殊的语法在测试或工具配置字段中访问环境变量。若要引用变量,请按以下字符顺序将变量名括起来:${env_name}

例如,如果你有一个名为 HOST 的变量,你可以通过输入:${HOST}。变量引用可以出现在字段中的任何位置。

在数据源编辑器中,使用 soa_env 前缀来引用环境变量。例如, ${soa_env:Variable}/calc_values.xlsx

变量引用可以出现在字段中的任何位置。例如,假设你的环境包含变量 HOST = localhost 和 PORT = 8080,并在 SOAP 客户机中有一个 Endpoint 字段,其中包含:"http://${HOST}:${PORT}/Service".  在运行测试时,端点使用的值将为 "http://localhost:8080/Service"。

你可以通过可扩展性 API 从扩展工具/脚本访问环境变量值。ExtensionToolContext 现在有一个名为 "getEnvironmentVariableValue(String)" 的方法,它将查找并返回环境变量的当前值。这将允许你在脚本中使用该值。

注意

如果你的测试用例或工具需要字符序列 ${},你可以通过添加反斜杠来转义该序列。例如,如果 SOAtest 或 Virtualize 遇到值 "\${HOST}" ,则它将使用值 "${HOST}”,并且不会尝试解析变量。还要注意,环境变量名是区分大小写的。

从 GUI 更改环境

若要更改活跃的环境,请完成以下内容:

  • 右键单击表示要使其变得活跃的环境的节点,然后选择 Set as Active Environment

从命令行更改环境

除了能够从 GUI 中选择活动环境之外,还可以使用 -environment 选项从命令行切换活动环境。  有关详细信息,请查阅 Testing from the Command Line Interface - soatestcli 。

使用测试配置重写环境

若要将测试配置设置为始终使用特定的环境进行测试执行(无论在测试用例资源管理器中激活的是什么环境),请:

示例使用说明

假设你正在本地机器上开发一个服务。代码在本地工作之后,将代码提交给源代码控制,并启动针对登台服务器的构建过程。你希望创建一组测试,这些测试将同时针对本地机器和登台服务器进行测试,只需要进行很少的修改。这是使用 SOAtest 环境的完美案例。

首先为你的新 .tst 文件创建一个 localhost 环境。SOAtest 的 New .tst 向导将为你提供一些基本的环境变量。如果你的 WSDL 在两台机器上不同,则可以将 WSDL URI 分解为变量。如果跨机器的 WSDL 位置是常量,则可以选择分解端点 URI。

下一步是确定项目中的其他特定于机器的设置,并为它们创建环境变量。例如,假设你的测试套件中有一个 JMS 步骤,则需要根据是本地主机测试还是登台测试将消息发送到不同的队列。首先,创建一个新的环境变量,我们称其为 "JMS_REPLY_QUEUE"。接下来,重新访问 SOAP 客户机,转到 JMS 设置,并输入 ${JMS_REPLY_QUEUE} 作为 JMSReplyTo 字段的值。

一旦创建了 localhost 环境,就可以复制和粘贴现有环境,并将新环境重命名为“Staging Environment”。然后,只需修改每个变量的值,使它们反映登台服务器的设置。

一旦环境设置好后,针对各种环境的测试就简单地选择活动环境。如果想在本地机器上进行测试,则可以将活动环境设置为“Localhost Environment”。这将使用 localhost 环境中定义的值运行测试。若要对登台服务器进行测试,请将“登台服务器”环境设置为活动的,并使用其值。

导出、导入和引用环境

你可能会发现许多配置设置,比如服务器名和端口,在多个项目中都是通用的。与其复制这些设置,不如将环境配置导出到外部文件,然后在另一个项目中导入或引用值。

导出环境

若要导出一个环境,请完成以下内容:

  1. 右键单击表示要导出的环境的节点,然后选择 Export Environment
  2. 在打开的文件选择器中,为导出的环境文件指定一个位置。

环境配置将在基于 xml 的文本文件中编写。如果选择了一个环境,则将创建一个包含单个环境的 *.env 文件。  如果选择了多个环境,则将创建包含所有所选环境 *.envs或环境集的文件。

导入环境

导入环境时,你将从外部环境文件中将值的副本导入到项目中。对 XML 文件的进一步修改将不会反映在你的项目中。

若要导入一个环境,请完成以下内容:

  1. 右键单击 Environments 节点,然后选择 Import Environment
  2. 在打开的文件选择器中,指定要导入的环境文件的位置。

引用环境

引用环境是跨多个项目共享单个环境配置的最有效方法。使用环境引用,你可以轻松地从一个位置修改多个项目的配置。

若要引用一个环境,请完成以下内容:

  1. 右键单击 Environments 节点,然后选择 Reference Environment
  2. 在右侧打开的配置面板中,指定要引用的环境文件的位置。

注意,当引用环境配置时,不能直接编辑环境中的环境变量。但是,你的项目将始终使用引用 *.env 文件中反映的值。修改 *.env 文件将把更改传播到引用它的所有项目。

  • No labels