What architecture styles are used in SoapUI software?
Good day, me and my team from Slovak University of Technology, Faculty of Informatics and Information Technologies are working on deeper analysis of SoapUI software. Mainly we would like to know what architecture styles are applied in this software and in which parts of code or software modules are they located. In general we would like to know as much as possible about architecture styles applied in SoapUI. Most of these informations we did not found on web. Could you give us helping hand and provide us more informations please? Thanks in advance for your help, Mark B.45KViews0likes0CommentsHow can I send multiple requests (same request) by a for loop to the same WebService through SoapUI?
Hi Everyone, I am pretty new to SoapUI tool. I am using SoapUI version 5.3.0My Application have a couple of RESTful APIs. I have to send arequest to the WebService in the form of a json request as below: { "app_key":"i8gAVDwcAq40n2kAv6Ox+w==", "targetDB":"100", "createNew": "true" } As of now I am able to send single request in each step and get back a satisfactory response as below: <StartDataExtractResult xmlns="http://schemas.datacontract.org/2004/07/AriaTechCore" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <StatusCode>1</StatusCode> <StatusText>success</StatusText> <RequestNumber>68</RequestNumber> </StartDataExtractResult> My question is how can I send multiple requests (50, 100, 500) requests in a loop to the Web Server in 3 second time gap? Any help/pointers will be very helpful.Solved33KViews0likes4Comments[SoapUI 5.2.1] mockRequest is NULL in REST MockService
I'm using SoapUI 5.2.1 and I have a REST MockService. Whenever I try to implement the following script, I get the NullPointerException . Script: def requestBody = mockRequest.getRequestContent() log.info "Request body: " + requestBody Error: com.eviware.soapui.impl.wsdl.mock.DispatchException: Failed to dispatch using script; java.lang.NullPointerException: Cannot invoke method getRequestContent() on null object This is a very frustating error that I'm continuously getting, and surprisingly there is no helpful solution anywhere. Please Help!!!! PS : I'm trying to get the content of a HTTP GET request.Solved22KViews0likes14CommentsHow i can set header header in multipart/form-data POST request?
When i sent POST request with file and header "Content-Type: multipart/form-data" , and via curl: curl -i -X POST -H "Content-Type: multipart/form-data" -F "file=@/home/Za_Dolber/abon19.txt" http://somehost.somedomain:9876/service/add?ids=1 i see something like this in Wireshark: POST /service/add?ids=1 HTTP/1.1 Host: somehost.somedomain:9876 User-Agent: curl/7.47.0 Accept: */* Content-Length: 200 Expect: 100-continue Content-Type: multipart/form-data; boundary=------------------------c47979a9d477ee1d HTTP/1.1 100 Continue --------------------------c47979a9d477ee1d Content-Disposition: form-data; name="file"; filename="abon19.txt" Content-Type: text/plain 1234567890 --------------------------c47979a9d477ee1d-- HTTP/1.1 200 OK Content-Type: text/plain Content-Length: 2 ok But when i send same request via SoapUI: POST /service/add?ids=1 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: multipart/form-data; boundary="----=_Part_0_1598092424.1491306778334" MIME-Version: 1.0 Content-Length: 269 Host: somehost.somedomain:9876 Connection: Keep-Alive User-Agent: Apache-HttpClient/4.1.1 (java 1.5) ------=_Part_0_1598092424.1491306778334 Content-Type: text/plain; charset=UTF-8; name=abon18.txt Content-Transfer-Encoding: binary Content-Disposition: form-data; name="abon18.txt"; filename="abon18.txt" 1234567890 ------=_Part_0_1598092424.1491306778334-- HTTP/1.1 400 Bad Request Content-Type: text/plain Content-Length: 47 Bad Request you must specify file with abonents If i try set whole header field in "Headers" i get that header only in first part of request, like this: POST /service/add?ids=1 HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: multipart/form-data; boundary="----=_Part_1_662240902.1491314924683" MIME-Version: 1.0 Content-Disposition: name="file"; filename="abon18.txt" Content-Length: 267 Host: somehost.somedomain:9876 Connection: Keep-Alive User-Agent: Apache-HttpClient/4.1.1 (java 1.5) ------=_Part_1_662240902.1491314924683 Content-Type: text/plain; charset=UTF-8; name=abon18.txt Content-Transfer-Encoding: binary Content-Disposition: form-data; name="abon18.txt"; filename="abon18.txt" 79067212518 ------=_Part_1_662240902.1491314924683-- HTTP/1.1 400 Bad Request Content-Type: text/plain Content-Length: 47 Bad Request you must specify file with abonents How can i change value of "name" field in Content-Disposition header?Solved14KViews0likes2CommentsSOAP UI - Basic Authentication - where do I find it in Server Code?
I have a SOAP Server written in PHP - and am Testing using SOAP UI. Everything works fine and returns results as expected. I am now trying to add in Basic Authentication - have set up in SOAP UI with Username and Password - BUT can't find how to check it in the Server code? I was expecting the credentials to be in the [SERVER] object passed to the server - but they are not. Can anyone help and advise how I check these items? Thanks PhilSolved11KViews0likes11CommentsCompare test step
Purpose The process of testing often requires to compare test results to expected values. When we need to check a specific value, we can use assertions. However, there are often occasions when we need to compare one documents to another (e.g. XML, JSON). I propose to introduce a new type of test step: Compare test step. Functionality Compare test step would allow: Select documents: users would select source and target document from test step requests, responses, properties and other document holders in SoapUI environment, similarly as the Property Transfer test step does. Type of comparisson: the user could choose whether the documents have to be identical (both structure and values) or similar (only the structure should be same). Also the user could choose to ignore differences in whitespaces, attributes, or namespaces, or even data types which to ignore (e.g. xsd:dateTime is typically different). List of items to compare/ignore: the user could list the items which should be ignored, represented by XPath statements. Also there would be an opposite option: a list of XPath statements to check and to ignore the rest of the documents. Suggestions The Compare test step can utilize the XMLUnit library for XML and thus expose its function via SoapUI user interface. The Compare step can be similarly used for JSON documents.9KViews8likes3CommentsSoapUI - Folders in Projects
Right now the only grouping possible is by project, it would be nice to be able to have folders inside this projects. This way the "workbench" can be a little cleaner. Anyway, thanks in advance and thanks for such a helping tool. Best regards and keep up the wood work! Federico.6.9KViews4likes2CommentsHow to resolve the error “java.lang.Exception: TestCase [TestCase] failed without assertions"
Hi, Thanks in advance I am running soap ui testsuite it is working fine, I have created groovy and java in soapui assertion if timeout or service gives any error it will send email alert, while running the testsuite it is sending mail if the service is giving any error or read timeout. But I am trying same thing through “Launch TestRunner” it is not working and giving below mentioned errors. Please help to resolve this issue soapui project has been attached. Error: Running SoapUI TestRunner for [CustomerService-Testing] directory: C:\Program Files\SmartBear\SoapUI-5.0.0\bin\. command: cmd.exe /C testrunner.bat -sCustomerServiceTestSuite -cCustomerServiceTestCase C:\Users\sairam\Desktop\Testingjobs\CustomerService-Testing-soapui-project.xml SoapUI 5.0.0 TestCase Runner Configuring log4j from [C:\Program Files\SmartBear\SoapUI-5.0.0\bin\soapui-log4j.xml] 21:55:19,709 INFO [DefaultSoapUICore] initialized soapui-settings from [C:\Users\sairam\soapui-settings.xml] 21:55:22,805 INFO [WsdlProject] Loaded project from [file:/C:/Users/sairam/Desktop/Testingjobs/CustomerService-Testing-soapui-project.xml] 21:55:24,552 INFO [SoapUITestCaseRunner] Running SoapUI tests in project [CustomerService-Testing] 21:55:24,553 INFO [SoapUITestCaseRunner] Running TestCase [CustomerServiceTestCase] 21:55:24,581 INFO [SoapUITestCaseRunner] Running SoapUI testcase [CustomerServiceTestCase] 21:55:24,605 INFO [SoapUITestCaseRunner] running step [Test Request] 21:55:25,117 ERROR [WsdlSubmit] Exception in request: java.net.SocketTimeoutException: Read timed out 21:55:25,118 ERROR [SoapUI] An error occurred [Read timed out], see error log for details 21:55:25,146 INFO [SoapUITestCaseRunner] Assertion [SOAP Response] has status UNKNOWN 21:55:25,147 INFO [SoapUITestCaseRunner] Assertion [Schema Compliance] has status UNKNOWN 21:55:25,147 INFO [SoapUITestCaseRunner] Assertion [Not SOAP Fault] has status UNKNOWN 21:55:25,147 INFO [SoapUITestCaseRunner] Assertion [Script Assertion] has status UNKNOWN 21:55:25,148 ERROR [SoapUITestCaseRunner] Test Request failed, exporting to [C:\Program Files\SmartBear\SoapUI-5.0.0\bin\CustomerServiceTestSuite-CustomerServiceTestCase-Test_Request-0-FAILED.txt] 21:55:25,150 ERROR [SoapUITestCaseRunner] Error saving failed result: java.io.FileNotFoundException: C:\Program Files\SmartBear\SoapUI-5.0.0\bin\CustomerServiceTestSuite-CustomerServiceTestCase-Test_Request-0-FAILED.txt (Access is denied) java.io.FileNotFoundException: C:\Program Files\SmartBear\SoapUI-5.0.0\bin\CustomerServiceTestSuite-CustomerServiceTestCase-Test_Request-0-FAILED.txt (Access is denied) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.PrintWriter.<init>(Unknown Source) at com.eviware.soapui.tools.SoapUITestCaseRunner.afterStep(SoapUITestCaseRunner.java:725) at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.runTestStep(AbstractTestCaseRunner.java:251) at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runCurrentTestStep(WsdlTestCaseRunner.java:52) at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:152) at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:47) at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:139) at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.start(AbstractTestRunner.java:81) at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCase.run(WsdlTestCase.java:645) at com.eviware.soapui.tools.SoapUITestCaseRunner.runTestCase(SoapUITestCaseRunner.java:602) at com.eviware.soapui.tools.SoapUITestCaseRunner.runRunner(SoapUITestCaseRunner.java:399) at com.eviware.soapui.tools.AbstractSoapUIRunner.run(AbstractSoapUIRunner.java:162) at com.eviware.soapui.tools.AbstractSoapUIRunner.runFromCommandLine(AbstractSoapUIRunner.java:93) at com.eviware.soapui.tools.SoapUITestCaseRunner.main(SoapUITestCaseRunner.java:119) 21:55:25,154 INFO [SoapUITestCaseRunner] Finished running SoapUI testcase [CustomerServiceTestCase], time taken: 517ms, status: FAILED 21:55:25,155 INFO [SoapUITestCaseRunner] TestCase [CustomerServiceTestCase] finished with status [FAILED] in 517ms 21:55:25,155 ERROR [SoapUITestCaseRunner] java.lang.Exception: TestCase [CustomerServiceTestCase] failed without assertions 21:55:25,156 ERROR [SoapUI] An error occurred [TestCase [CustomerServiceTestCase] failed without assertions ], see error log for details java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(Unknown Source) at java.net.SocketInputStream.read(Unknown Source) at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:149) at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:110) at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:264) at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:98) at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:252) at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:281) at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:247) at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:219) at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport$SoapUIHttpRequestExecutor.doReceiveResponse(HttpClientSupport.java:147) at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125) at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:633) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:454) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754) at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport$Helper.execute(HttpClientSupport.java:247) at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport.execute(HttpClientSupport.java:362) at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.submitRequest(HttpClientRequestTransport.java:324) at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:237) at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:127) at com.eviware.soapui.impl.wsdl.WsdlSubmit.submitRequest(WsdlSubmit.java:80) at com.eviware.soapui.impl.wsdl.WsdlRequest.submit(WsdlRequest.java:242) at com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequestStep.run(WsdlTestRequestStep.java:419) at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.runTestStep(AbstractTestCaseRunner.java:239) at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runCurrentTestStep(WsdlTestCaseRunner.java:52) at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:152) at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:47) at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:139) at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.start(AbstractTestRunner.java:81) at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCase.run(WsdlTestCase.java:645) at com.eviware.soapui.tools.SoapUITestCaseRunner.runTestCase(SoapUITestCaseRunner.java:602) at com.eviware.soapui.tools.SoapUITestCaseRunner.runRunner(SoapUITestCaseRunner.java:399) at com.eviware.soapui.tools.AbstractSoapUIRunner.run(AbstractSoapUIRunner.java:162) at com.eviware.soapui.tools.AbstractSoapUIRunner.runFromCommandLine(AbstractSoapUIRunner.java:93) at com.eviware.soapui.tools.SoapUITestCaseRunner.main(SoapUITestCaseRunner.java:119) java.lang.Exception: TestCase [CustomerServiceTestCase] failed without assertions at com.eviware.soapui.tools.SoapUITestCaseRunner.throwFailureException(SoapUITestCaseRunner.java:535) at com.eviware.soapui.tools.SoapUITestCaseRunner.runRunner(SoapUITestCaseRunner.java:437) at com.eviware.soapui.tools.AbstractSoapUIRunner.run(AbstractSoapUIRunner.java:162) at com.eviware.soapui.tools.AbstractSoapUIRunner.runFromCommandLine(AbstractSoapUIRunner.java:93) at com.eviware.soapui.tools.SoapUITestCaseRunner.main(SoapUITestCaseRunner.java:119)6.2KViews0likes1CommentHow can I assert a json parameter in Request with a XML response through Script Assertion in Soap UI
I am using SoapUI version 5.3.0 My Application have a couple of RESTful APIs. I am sending multiple request to a WebService in the form of a json request as below: { "app_key":"i8gAVDwcAq40n2kAv6Ox+w==", "targetDB":"${#TestCase#TARGET_DB}", "createNew": "true" } The response from the WebService is as follows: <StartDataExtractResult xmlns="http://schemas.datacontract.org/2004/07/AriaTechCore" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <StatusCode>1</StatusCode> <StatusText>success</StatusText> <RequestNumber>101</RequestNumber> </StartDataExtractResult> I am using a Groovy Script to generate a dynamic name for "targetDB" as follows: def targetdb = ((context.expand('${#TestCase#TARGET_DB}') ?: 100) as Integer) + 1 log.info "Target db for current request : ${targetdb}" context.testCase.setPropertyValue('TARGET_DB', targetdb.toString()) I have designed my Test data in such a way that passing the parameter of the 'targetdb' as "101" will result in the RequestNumber tag set to "101" in the response. Now I want to add an assertion to check if the RequestNumber tag contains the same value as of the variable "${#TestCase#TARGET_DB}" (sent in Request json) . To achieve that I wrote a Script Assertion as follows: def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) def holder = groovyUtils.getXmlHolder(messageExchange.responseContent) holder.namespaces["ns1"] = "http://schemas.datacontract.org/2004/07/AriaTechCore" def nodeRequestNumber = holder.getNodeValue("//ns1:RequestNumber") assert nodeRequestNumber != null if(nodeRequestNumber=="${TARGET_DB}") { log.info "Pass" } else { log.info "Fail"} But I am getting an error as: No such Property: TARGET_DB for class: Script 53 Can any one help me out please?Solved5.6KViews0likes6CommentsSoapUI Maven Plugin v5.2.2
Hello, Disclaimer: This is a cross-post fromhttp://community.smartbear.com/t5/SoapUI-Open-Source/soapui-maven-plugin-5-2-0-not-published-to-SmartBear-repository/td-p/102327 which does not seem to get any more attention from SmartBear. The issue: The latest version of SoapUI Maven Plugin published to maven (and also smartbear maven repo,http://smartbearsoftware.com/repository/maven2/com/smartbear/soapui/soapui-maven-plugin/) is 5.1.3. This version does not support the -reallyimportant- JsonPath assertion. From the SoapUI github repository it can be seen that version 5.2.2 is ready, and can be built. It is understood that SmartBear tries to promote and give more support to SoapUI pro edition and the readyApi suite, but please, do not fail your longtime users and show some respect and support to the community. There projects that due to their size cannot be migrated to readyApi at the moment while need the JsonPath assertions. Don't get my attitudewrong, but try to understand. It is really bad to discover broken functionallity when your CI server reports no errors, since it is using a maven plugin thatsimply ignores this type of assertion.Solved5KViews3likes5Comments