提问人:John Saunders 提问时间:4/3/2014 更新时间:4/4/2014 访问量:635
soapUI 测试套件中的凭据模式
Pattern for Credentials in soapUI Test Suites
问:
我是使用 soapUI 进行自动化测试的新手,所以这可能是一个愚蠢的问题。
我希望我的测试套件中的所有测试用例都使用相同的用户名和密码。当然,我不希望用户名和密码存储在 soapUI 项目中,实际上我也不希望它们被签入源代码管理中。
我看到能够在层次结构的多个级别(项目、测试套件、测试用例、测试步骤等)使用自定义属性。我看到可以从文件中加载这些属性。我已经成功地在项目级别创建了“用户名”和“密码”属性,并从文件(未保存到源代码管理中的文件)加载了它们。
我看到您可以添加的一种测试步骤是属性转移步骤,并且我已经成功地使用了一个将项目级属性转移到测试用例请求步骤。
我想知道的是一些好的模式,可以将这种“全局”属性放入所有测试用例中。我是否需要在每个测试用例中都放置一个属性转移步骤?有没有一种简单的方法可以确保这些属性值不会保存到项目文件中?要使负载测试正常工作,是否需要执行任何特殊操作?
答:
可以在项目范围内的所有测试套件/测试用例/测试步骤中直接访问项目级别属性。
这可以使用以下格式完成。此格式是我的项目级别属性的名称。只需替换为您的财产名称,您就可以开始了。PropName
PropName
${#Project#PropName}
如果您需要在时髦的步骤中访问此属性,则应使用 context.expand 来获取值。SOmetime在线...
context.expand("${#Project#PropName}")
要使用测试套件访问所有测试用例/测试步骤中的测试套件级别属性,请使用。
${#TestSuite#PropName}
在 Groovy 测试步骤中
context.expand("${#TestSuite#PropName}")
若要访问其范围内所有测试步骤中的测试用例级别属性,请使用以下格式
${#TestCase#PropName}
在时髦的测试步骤中
context.expand("${#TestCase#PropName}")
要访问测试步骤在其姊妹测试步骤中的属性,请使用...
${Test Request#Response}
其中 是测试步骤的名称,是要访问的属性。Test Request
Response
要记住的是范围含义,项目级属性将在其所有子项中都可以访问,但测试套件的属性将无法在另一个测试套件中访问。
至于使用财产转移步骤,我不建议在这种情况下使用它。例如,当您想要从服务的响应中提取值并用于其他位置时,应该使用它。
在项目/测试套件/测试用例级别设置这些属性时,需要按如下方式进行设置。在此图像中,PropName 是属性的名称,Somevalue 是属性的值。这是从文件中读取属性时属性的设置方式。
现在,如果你想在JDBC步骤中访问这个属性,你可以只提到,当该步骤运行时,soapUI将替换为propety的实际值。${#Project#PropName}
${#Project#PropName}
您还可以查看有关使用属性的 soapUI 指南。
希望这会有所帮助。
评论
${#TestCase#PropName}
评论