本主题说明了如何配置并适用不同的环境。章节目录: 环境是变量的集合,可在测试配置的字段中引用。您可以使用环境变量来指定端点、数据库表名、连接属性(如登录凭据)等。变量名称将被活动环境中的指定值取代。通过切换哪个环境是“活动”环境,您可以在运行时动态切换特定于环境的值。 当您从定义(如 WSDL)生成 Parasoft 资产时,将自动定义环境,但是您也可以手动定义环境,如下所述。 创建和切换环境可通过测试套件的测试用例浏览器节点中的环境分支完成。 在创建新的测试套件时,默认情况下会创建环境分支。 您可以右键点击变量,并选择掩盖变量值以在界面中隐藏该值。 掩盖值可防止 REST 客户端显示已解析值。 在测试和工具中使用环境变量 可以使用特殊的语法在测试或工具配置字段中访问环境变量。若要引用变量,请按以下字符顺序将变量名括起来: 例如,如果您有一个名为 HOST 的变量,您可以通过输入: 在数据源编辑器中,使用 变量引用可以出现在字段中的任何位置。例如,假设您的环境包含变量 注意 如要更改处于活动状态的环境,请右键点击要激活的环境节点,然后选择设置为活动环境。 除了能够从 GUI 中选择活动环境之外,还可以使用 要将某个测试配置设置为始终使用特定环境执行测试(无论测试用例浏览器中使用哪个活动环境),请在执行选项卡中设置该测试配置的在测试执行期间覆盖缺省的环境配置选项。详情请参阅执行选项卡设置:定义如何执行测试。 假设您正在本地机器上开发一个服务。代码在本地工作之后,将代码提交给源码控制,并启动针对登台服务器的构建过程。您希望创建一组测试,这些测试将同时针对本地机器和登台服务器进行测试,只需要进行很少的修改。这是使用 SOAtest 环境的完美案例。 首先为您的新 .tst 文件创建一个 localhost 环境。SOAtest 的新建 .tst 向导将为您提供一些基本的环境变量。如果您的 WSDL 在两台机器上不同,则可以将 WSDL URI 分解为变量。如果跨机器的 WSDL 位置是常量,则可以选择分解端点 URI。 下一步是确定项目中的其他特定于机器的设置,并为它们创建环境变量。例如,假设您的测试套件中有一个 JMS 步骤,则需要根据是本地主机测试还是登台测试将消息发送到不同的队列。首先,创建一个新的环境变量,我们称其为“ 一旦创建了 localhost 环境,就可以复制和粘贴现有环境,并将新环境重命名为“预发布环境”。然后,只需修改每个变量的值,使它们反映登台服务器的设置。 一旦环境设置好后,针对各种环境的测试就简单地选择活动环境。如果想在本地机器上进行测试,则可以将活动环境设置为“Localhost Environment”。这将使用 localhost 环境中定义的值运行测试。若要对预备服务器进行测试,请将“预备服务器”环境设置为活动的,并使用其值。 您可能会发现许多配置设置,比如服务器名和端口,在多个项目中都是通用的。与其复制这些设置,不如将环境配置导出到外部文件,然后在另一个项目中导入或引用值。 若要导出一个环境,请完成以下内容: 环境配置将在基于 xml 的文本文件中编写。如果选择了一个环境,则将创建一个包含单个环境的 导入环境时,您将从外部环境文件中将值的副本导入到项目中。对 XML 文件的进一步修改将不会反映在您的项目中。 若要导入一个环境,请完成以下内容: 引用环境是跨多个项目共享单个环境配置的最有效方法。使用环境引用,您可以轻松地从一个位置修改多个项目的配置。 若要引用一个环境,请完成以下内容: 注意,当引用环境配置时,不能直接编辑环境中的环境变量。但是,您的项目将始终使用引用 环境(.env)文件是基于 XML 的文本文件,可以手动编辑。建议不要尝试从头开始创建 .env 文件,而是按照导出环境中的描述导出一个环境作为模板。导出环境后,可以在任何文本编辑器中打开进行修改。它会与下面的示例类似。 现有变量可直接编辑。如需添加新变量,可复制现有变量(包括 <Variable></Variable> 标记之间的所有内容)并粘贴到新行,然后根据需要更改名称和值。请注意,不应手动修改掩盖的值,也不应尝试手动创建掩盖的值;只能在 UI 中使用掩盖的值。了解环境
手动定义环境
掩盖变量值
${env_name}
。${HOST}
。变量引用可以出现在字段中的任何位置。soa_env
前缀来引用环境变量。例如,${soa_env:Variable}/calc_values.xlsx
HOST = localhost
和 PORT = 8080
,并在 SOAP 客户端中有一个 Endpoint 字段,其中包含:"http://${HOST}:${PORT}/Service
". 在运行测试时,端点使用的值将为“http://localhost:8080/Service
”。getEnvironmentVariableValue(String)
”的方法,它将查找并返回环境变量的当前值。这将允许您在脚本中使用该值。${}
,您可以通过添加反斜杠来转义该序列。例如,如果 SOAtest 或 Virtualize 遇到值“\${HOST}
”,则它将使用值“${HOST}
”,并且不会尝试解析变量。还要注意,环境变量名是区分大小写的。从 GUI 更改环境
从命令行更改环境
-environment
选项从命令行切换活动环境。 详情请参阅在命令行界面使用 - soatestcli 进行测试。使用测试配置重写环境
示例使用说明
JMS_REPLY_QUEUE
”。接下来,重新访问 SOAP 客户端,转到 JMS 设置,并输入 ${JMS_REPLY_QUEUE}
作为 JMSReplyTo 字段的值。导出、导入、引用和编辑环境
导出环境
*.env
文件。如果选择了多个环境,则将创建包含所有所选环境 *.envs
或环境集的文件。导入环境
引用环境
*.env
文件中反映的值。修改 *.env
文件将把更改传播到引用它的所有项目。编辑环境(.env)文件
<?xml version="1.0" encoding="UTF-8"?>
<Environment xmlns="http://www.parasoft.com/schema/environment/1.0"
name="New Environment">
<Variable>
<Name>Name1</Name>
<Value mask="false">Value1</Value>
</Variable>
<Variable>
<Name>Name2</Name>
<Value mask="false">Value2</Value>
</Variable>
</Environment>
如果您的测试用例或工具需要字符序列
.env XML 示例
Overview
Content Tools