作为Test Suite拆解过程的一部分,我想循环遍历之前运行的所有测试用例和测试步骤,并捕获结果和断言。我不是很擅长时髦的剧本,这似乎很容易做到,但到目前为止还不顺利。这主要是因为我不熟悉对象模型而且没有“intellisense”来指导我。我只需要一个shell开始。
另外,我有一个循环,它执行相同的测试步骤多次输入不同的数据集。我不确定这是否有所作为。
这是我的shell:
def testCases = context.testCase.testSuite.getTestCaseList()
testCases.each
{
log.info "~~~Test Case:" + it.name
for(testSteps in it.testStepList)
{
log.info "~~~Test Step:" + testSteps.name
}
}
但是我收到了这个错误......
Wed Nov 04 15:53:44 EST 2015:ERROR:An error occurred [Cannot get property 'testSuite' on null object], see error log for details
答案 0 :(得分:1)
如果您在测试套件的 TearDown脚本中使用它,那么下面的代码段可以帮助您
testSuite.testCaseList.each {
log.info "Test Case : ${it.name}"
it.testStepList.each {
log.info "Test Step : ${it.name}"
}
}
请注意,testsuite的拆卸脚本可以使用下面的变量,这些变量也可以在soapUI中注意到
log, context, runner, testSuite
答案 1 :(得分:1)
您可以在此SO answer上看到您尝试获得运行的testSuite的所有结果。
关于您的错误:
Wed Nov 04 15:53:44 EST 2015:ERROR:An error occurred [Cannot get property 'testSuite' on null object], see error log for details
问题在于,如果您使用tearDown script
中的播放按钮直接测试tearDown script
单独执行(在testSuite之外),则会有一些缺失的变量,在本例中是context.testCase,它是null这就是您收到此错误消息的原因。只有在执行整个testSuite时,此变量才可用。
希望它有所帮助,