java - 为什么 Linux 上的 java 在 'Delay' 测试步骤期间杀死 Soap-UI 的 testrunner.sh?

标签 java linux soapui

我有一个带有简单测试套件的 Soap-UI 项目:

  • 第一步:WAITING 1 分钟
  • 第二步:循环至步骤 1

screenshot test case

我想从命令行在 testrunner.sh 中运行它:

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/

相关文章:

Java - 图像着色

linux - 为什么 "while"并发在 shell 脚本中运行越来越慢?

c++ - 使用 C++ 和 Linux 的高分辨率计时器?

java - SoapUI项目执行后WebDriver异常

java - javaFX 任务返回的输入流为空

java - org.hibernate.MappingException : property mapping has wrong number of columns

python - 来自 requirements.txt 的 Python 包的磁盘缓存

groovy - SOAPUI 使用 groovy 从文件加载自定义属性

Paypal SOAP 请求 : How to test a serviece in soapui with good header parameters?

java - 使实例变量静态