在运行整个套件时,我遇到了一个groovy脚本的奇怪行为。我有一个脚本,在运行之前按字母顺序命令我的测试用例,即使整个测试套件完成,它也似乎永远在运行。
点击它查看详细信息后立即返回测试套件,显示它已完成,不再运行。
我的剧本有问题吗?我没有看到任何无限循环或类似的东西。它只是ReadyAPI中的一个错误吗?谢谢你的建议。
我的排序脚本:
ArrayList<String> testCaseList = new ArrayList<String>();
for (testCase in testRunner.testCase.testSuite.getTestCaseList()) {
testCaseList.add(testCase.getName());
}
testCaseList.sort();
int i = 0;
for (tCase in testCaseList) {
def curCase = testRunner.testCase.testSuite.getTestCaseByName(tCase);
curIndex = testRunner.testCase.testSuite.getIndexOfTestCase(curCase);
testRunner.testCase.testSuite.moveTestCase(curIndex,i-curIndex);
i++;
}
答案 0 :(得分:2)
目前,看起来你有单独的测试用例进行排序。但实际上,这不是你的有效测试案例。
因此,要做的第一个更改是脚本应该从测试用例移到测试套件的<{1}} 。
以下是 Test Suite的安装脚本,按字母顺序排列。如果测试用例名称中包含数字,则应特别注意,必须做自然顺序。否则,它应该没问题。
请遵循在线评论。
$mail->clearAddresses();
$mail = new PHPMailer();
$mail->setFrom($from, $fromName);
$mail->addAddress($to);
$mail->Subject = 'Copy Contact Form - Email';
$mail->Body = $body . 'Thanks for registering with us';
$mail->isHTML(false);
return $mail->send();
使用Setup Script
,当执行测试套件时,测试用例会按字母顺序自动移动。因此,订购时不需要单独的测试用例。
现在,套件被执行了所需的测试用例,问题中提到的当前问题根本就不存在。