【发布时间】:2014-09-02 22:14:33
【问题描述】:
我是 soapui 测试的初学者。希望你能帮我解决这个问题。
在我的测试项目中,我有一个包含多个测试用例的测试套件。多个测试用例将启动同一个测试用例。为了运行这个测试用例,我需要将一些属性值转移到这个测试用例中。
我尝试通过两种方式实现这一目标。但我都失败了。
我尝试调用测试用例并在测试用例中设置所需的属性。我从 Groovy 脚本开始测试用例。但是我找不到如何在被调用的测试用例中设置属性的好例子。
我试图在被调用的测试用例中获取调用父测试用例的属性值。看起来调用测试用例的父测试用例在正在运行的测试用例的上下文中不可用。
将调用相同测试用例的测试用例将并行运行。所以,我认为首先设置属性值然后启动测试用例不是解决方案,因为它们会被同时运行的其他测试用例覆盖。由于并行运行测试用例,因此对这些值使用测试套件属性也不起作用。
我的测试项目是这样的。
MyProject
TestSuite_APLtests
TestCase_user_01
Properties test step
Run_test <groovy script>
Step_01
…..
TestCase_user_02
Properties test step
Run_test <groovy script>
Step_01
…..
TestCase_General
Properties test step
POST sessions
Step_01
…..
每个“TestCase_user_”的“属性测试步骤”包含测试用例“TestCase_General”所需的用户和密码,并且每个测试用例都不同。 在每个“TestCase_user_”的“Run_test”常规脚本中,测试用例“TestCase_General”通过以下方式启动:
def myTestSuite = testRunner.testCase.testSuite.project.getTestSuiteByName("TestSuite_APLtests")
def myTestCase = myTestSuite.getTestCaseByName("TestCase_General")
myTestCase.run(null, false)
如何将属性用户和密码添加到启动测试用例的运行注释中?
如果我尝试在测试用例“TestCase_General”中使用 groovy 脚本获取属性值,我不知道如何确定哪个测试用例调用了“TestCase_General”。我在互联网上发现了一些建议使用:context.getProperty("#CallingRunTestCaseStep#") 来确定调用测试用例的帖子。但是这个值是空的。当我尝试使用以下方法检查调用测试用例在上下文中是否可用时:context.hasProperty("#CallingRunTestCaseStep#") 这是错误的,因此无法找到调用测试用例。
谁能告诉我解决方案是什么才能让它工作。
谢谢,
【问题讨论】:
-
只是为了澄清......你想知道如何在你的 groovy 脚本中运行它之前设置你的 testCase 的属性吗?
-
我在每个测试用例的属性测试步骤中设置了属性“用户”和“密码”的值。在这些测试用例的 Groovy 脚本中,我将测试用例称为“TestCase_General”。在我启动测试用例时,需要将属性“用户”和“密码”的值传递给测试用例“TestCase_General”中的属性。我不知道如何将属性从调用测试用例传递给被调用测试用例。