Maven 2 Maven SoapUI插件,测试缺少的路径参数

Maven 2 Maven SoapUI插件,测试缺少的路径参数,maven-2,soapui,regression-testing,Maven 2,Soapui,Regression Testing,我对web服务进行了一些回归测试,以确保在缺少必需字段时返回错误。当查询参数(例如)丢失时,一切正常。当所需的路径参数丢失时(例如),测试在SoapUI应用程序中正常工作,但从Maven运行时失败。当它试图查询这些错误的URL时,我在输出中看到了错误,但是响应(我应该从服务器检查500个)或者我需要设置的一些其他断言是否有什么不同,以便测试同时通过SoapUI和Maven 编辑 完全错误是: 16:07:38,672 ERROR [WsdlSubmit] Exception in request

我对web服务进行了一些回归测试,以确保在缺少必需字段时返回错误。当查询参数(例如)丢失时,一切正常。当所需的路径参数丢失时(例如),测试在SoapUI应用程序中正常工作,但从Maven运行时失败。当它试图查询这些错误的URL时,我在输出中看到了错误,但是响应(我应该从服务器检查500个)或者我需要设置的一些其他断言是否有什么不同,以便测试同时通过SoapUI和Maven

编辑

完全错误是:

16:07:38,672 ERROR [WsdlSubmit] Exception in request: org.apache.commons.httpclient.URIException: escaped absolute path not valid
16:07:38,672 ERROR [SoapUI] An error occured [escaped absolute path not valid], see error log for details
org.apache.commons.httpclient.URIException: escaped absolute path not valid
    at org.apache.commons.httpclient.URI.setRawPath(URI.java:2837)
    at org.apache.commons.httpclient.URI.parseUriReference(URI.java:2023)
    at org.apache.commons.httpclient.URI.<init>(URI.java:147)
    at org.apache.commons.httpclient.HttpMethodBase.getURI(HttpMethodBase.java:265)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:383)
    at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:194)
    at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:123)
    at com.eviware.soapui.impl.wsdl.WsdlSubmit.submitRequest(WsdlSubmit.java:76)
    at com.eviware.soapui.impl.rest.RestRequest.submit(RestRequest.java:208)
    at com.eviware.soapui.impl.wsdl.teststeps.RestTestRequestStep.run(RestTestRequestStep.java:753)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runTestStep(WsdlTestCaseRunner.java:207)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:138)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:39)
    at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:139)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:679)
16:07:38,673 INFO  [SoapUIProTestCaseRunner] Assertion [Match content of [Fault]] has status UNKNOWN
16:07:38672请求中出现错误[WsdlSubmit]异常:org.apache.commons.httpclient.URIException:转义的绝对路径无效
16:07:38672错误[SoapUI]发生错误[转义的绝对路径无效],有关详细信息,请参阅错误日志
org.apache.commons.httpclient.URIException:转义的绝对路径无效
位于org.apache.commons.httpclient.URI.setRawPath(URI.java:2837)
位于org.apache.commons.httpclient.URI.parseUriReference(URI.java:2023)
位于org.apache.commons.httpclient.URI(URI.java:147)
位于org.apache.commons.httpclient.HttpMethodBase.getURI(HttpMethodBase.java:265)
位于org.apache.commons.httpclient.httpclient.executeMethod(httpclient.java:383)
位于com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:194)
位于com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:123)
位于com.eviware.soapui.impl.wsdl.WsdlSubmit.submitRequest(WsdlSubmit.java:76)
位于com.eviware.soapui.impl.rest.RestRequest.submit(RestRequest.java:208)
在com.eviware.soapui.impl.wsdl.teststeps.RestTestRequestStep.run(RestTestRequestStep.java:753)上
位于com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runTestStep(WsdlTestCaseRunner.java:207)
位于com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:138)
位于com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:39)
位于com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:139)
位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
位于java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
在java.util.concurrent.FutureTask.run(FutureTask.java:166)中
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
运行(Thread.java:679)
16:07:38673信息[SOAPUICaseRunner]断言[匹配[Fault]的内容]状态未知

行为应该相同

检查SOAPUIMaven插件生成的日志文件。它包含每个测试的返回代码。如果服务器端有错误,您应该找到500个


您的测试用例已经包含一个检查返回代码的断言?

我最终不得不禁用有问题的测试。SoapUI应用程序似乎可以处理丢失的路径参数,但maven插件不能


如果弹出一个新答案,解释如何使用SoapUI maven插件对此进行测试,我会尝试一下,并(希望)让它成为可接受的答案。

尽管错误消息中没有代码,但它只是“错误[SoapUI]发生错误[转义绝对路径无效],有关详细信息,请参阅错误日志org.apache.commons.httpclient.URIException:转义绝对路径无效”。我用完整的堆栈跟踪更新了问题。是的,我已经在检查返回代码。你能为失败的测试添加代码吗?我稍后会尝试添加代码,从这里进行VPNing几乎破坏了我访问任何主机的能力。但基本上是(requiredPathParameter==null){throw buildInformativeExceptionHere(“缺少必需的参数”,parameter)。问题似乎在于,所讨论的参数是REST API调用的一部分,并且缺少。将-X添加到maven行(debug),然后查找阶段输出在哪里可以找到阶段输出?我所看到的是我几天前添加到问题中的相同堆栈跟踪。当添加-X时,将启用调试输出,这是maven执行的一个非常详细和详细的输出。假设您使用的是maven版本3.0.X,您应该会看到一个调试跟踪,说明测试或整合测试阶段开始