我有一个带有简单测试套件的 Soap-UI 项目:
- 第一步:WAITING 1 分钟
- 第二步:循环至步骤 1
我想从命令行在 testrunner.s
h 中运行它:
testrunner.sh -s"TestSuite" -f. test-soapui-project.xml
在第一个测试步骤几秒钟后,它总是崩溃并显示以下消息:
SoapUI 5.0.0 TestCase Runner
21:31:19,441 INFO [DefaultSoapUICore] Creating new settings at [/usr/home/me/soapui-settings.xml]
21:31:20,076 INFO [WsdlProject] Loaded project from [file:/usr/home/me/soapui-workdir/test-soapui-project.xml]
21:31:20,219 INFO [SoapUITestCaseRunner] Running SoapUI tests in project [Test]
21:31:20,219 INFO [SoapUITestCaseRunner] Running TestSuite [TestSuite], runType = SEQUENTIAL
21:31:20,226 INFO [SoapUITestCaseRunner] Running SoapUI testcase [Test]
21:31:20,227 INFO [SoapUITestCaseRunner] running step [Wait 1 Minute]
/usr/home/me/SoapUI-5.0.0/bin/testrunner.sh: line 57: 18171 Killed java $JAVA_OPTS -cp $SOAPUI_CLASSPATH com.eviware.soapui.tools.SoapUITestCaseRunner "$@"
我的问题:
有人可以重现这个吗? Delay
不打算使用更长的时间吗?我还能怎样等到我在测试中执行下一个请求?
要导入到 Soap-UI 的项目 xml:
<?xml version="1.0" encoding="UTF-8"?>
<con:soapui-project activeEnvironment="Default" name="Test" resourceRoot="" soapui-version="5.0.0" xmlns:con="http://eviware.com/soapui/config"><con:settings/><con:testSuite name="TestSuite"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="Test" searchProperties="true"><con:settings/><con:testStep type="delay" name="Wait 1 Minute"><con:settings/><con:config><delay>60000</delay></con:config></con:testStep><con:testStep type="goto" name="loop"><con:settings/><con:config xsi:type="con:GotoStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:condition><con:name>loop allways</con:name><con:type>XPATH</con:type><con:expression>0=0</con:expression><con:targetStep>Wait 1 Minute</con:targetStep></con:condition></con:config></con:testStep><con:setupScript/><con:tearDownScript/><con:properties/></con:testCase><con:properties/><con:setupScript/><con:tearDownScript/></con:testSuite><con:properties/><con:wssContainer/><con:oAuth2ProfileContainer/></con:soapui-project>
+ + 更新:+ +
当我删除“循环”步骤时,行为完全相同。 testrunner.sh
在 1 分钟延迟结束之前崩溃。
最佳答案
请注意,在“条件转到”步骤中,您将提供“条件 XPath 表达式”。 XPath 是针对上一步上下文执行的。在您的情况下,延迟步骤没有任何可以表示为 XPath 的上下文,因此 testrunner 失败。严格来说,这可能是 SoapUI 中的一个错误。
如果您想(反)证明这一点,您可以在延迟和条件转到之间插入一些请求步骤,这将有任何响应。
这确实是在 SoapUI 中引起延迟的首选方式(Groovy 脚本除外)。
关于java - 为什么 Linux 上的 java 在 'Delay' 测试步骤期间杀死 Soap-UI 的 testrunner.sh?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26412579/