2013-05-10 2 views
1

웹 서비스에 대한 회귀 테스트를 통해 필수 필드가없는 경우 오류가 반환되는지 확인했습니다. 검색어 매개 변수 (예 : http://dummyurl.com?someRequiredParameter=something)가 누락되면 모든 것이 올바르게 작동합니다. 필요한 경로 매개 변수가 누락되면 (예 : http://dummyurl.com/requiredPathParameter/somethingelse) 테스트는 SoapUI 애플리케이션에서 올바르게 작동하지만 Maven에서 실행하면 실패합니다. 이러한 잘못된 URL을 쿼리하려고하면 출력에 오류가 표시됩니다. 그러나 응답에 대해 다른 점이 있습니다 (서버에서 500을 검사해야합니까). 또는 테스트가 모두 통과하도록 설정할 필요가있는 다른 어설 션 SoapUI 및 Maven?누락 된 경로 매개 변수에 대한 Maven SoapUI 플러그인

편집

전체 오류는 다음과 같습니다

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 
+0

테스트에 실패한 코드를 추가 할 수 있습니까? – ssedano

+0

코드를 나중에 추가하려고합니다. 여기에서 VPNing을하면 호스트에 도달하는 기능이 거의 손상됩니다. 하지만 기본적으로 if (requiredPathParameter == null) {throw buildInformativeExceptionHere ("Missing required parameter", 매개 변수)입니다. 문제는 문제의 매개 변수가 REST API 호출의 일부이며 누락 된 사실 인 것 같습니다. –

+0

-X를 maven 행 (디버그)에 추가 한 다음 위상 출력을 찾으십시오. – ssedano

답변

0

궁극적으로 문제의 테스트를 비활성화해야했습니다. SoapUI 응용 프로그램은 누락 된 경로 매개 변수를 처리 할 수 ​​있지만 maven 플러그인은 처리 할 수 ​​없습니다.

SoapUI maven 플러그인을 사용하여 이것을 테스트하는 방법을 설명하는 새로운 대답이 나오면, 필자는 시도해 보겠다.

0

동작은 동일해야합니다.

SOAPUI Maven 플러그인에서 생성 된 로그 파일을 확인하십시오. 각 테스트마다 리턴 코드가 들어 있습니다. 서버 측에서 오류가 발생하면 500을 찾아야합니다.

테스트 케이스에 이미 반환 코드를 확인하는 어설 션이 포함되어 있습니까?

+0

오류 메시지에는 코드가 없습니다. "ERROR [SoapUI] 오류가 발생했습니다 [절대 경로가 유효하지 않은 절대 경로], 오류 로그를 참조하십시오. org.apache.commons.httpclient.URIException : 이스케이프 된 절대 경로가 유효하지 않습니다" . 전체 스택 추적으로 질문을 업데이트했습니다. 그리고 네, 이미 반환 코드를 확인하고 있습니다. –

관련 문제