How to set Property Value of Sub Node of XML file in SOAP UI?
Hi Team, Thank you very much in advance. I have xml in the below structure and i need to update values to sub nodes using Groovy script to automate the TestScripts. <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:inb="http://sap.com/xi/FI-Processing"> <soap:Header/> <soap:Body> <inb:OrderItemMessageBulk> <MessageHeader> <CreationDateTime></CreationDateTime> </MessageHeader> <OrderItems> <MessageHeader> <CreationDateTime></CreationDateTime> </MessageHeader> <OrderItem> <DocumentItemID DocumentItemTypeCode="" SendingComponentID="" LogicalSystemID=""> </DocumentItemID> </OrderItems> </inb:OrderItemMessageBulk> </soap:Body> </soap:Envelope> How can i set Value of nodeDocumentItemTypeCode,SendingComponentID andLogicalSystemID in the above XML structure. Kindly guide me to solve the issue. Regards, Ramana.2.8KViews0likes9CommentsError: SoapUI MockServices Log for project
Followed below steps before deployment: https://www.soapui.org/soap-mocking/working-with-mockservices/ https://www.soapui.org/soap-mocking/deploying-mock-services-as-war-files/ I was using soap UI for mock service and war file generations. I'm able to generate a war file but after deployment in tomcat. when my service is running successfully in tomcat, I used soap UI to test the service. During which I'm getting below error/ <html> <head> <title>SoapUI MockServices Log for project [nb-workorder]</title> </head> <frameset rows="40%,40%,*"> <frame src="master"/> <frame name="detail" src="detail"/> <frame src="log"/> </frameset> </html> Can you please assist me. Thank You Dattathreya602Views0likes0CommentsSOAP UI - Set Proxy Settings Using -t in CMD Execution
Also posted here: https://stackoverflow.com/questions/59102194/soap-ui-set-proxy-settings-using-t-in-cmd-execution I am getting nowhere with the documentation on this topic. So far, I know the execution command is "-t" for setting the proxy settings, BUT, I cannot get the proxy settings to actually be set. In other words, the command line query looks like this: "cmd /C CD C:\Program Files\SmartBear\SoapUI-5.2.1\bin & testrunner.bat -c""TestCase"" ""SOAP_QUERY.XML"" -S -P""UserName=UsernameTest"" -P""Password=PasswordTest"" -t""autoProxy_TrueOrFalse=False"" -t""activateProxy_TrueOrFalse=True"" -t""proxy_Host=ProxyAddress"" -t""proxy_Port=ProxyPort"" -t""proxy_Username=ProxyUsername"" -t""proxy_Username=ProxyPassword"" -P""OutPutDumpFileLocation=OutPut.XML"" -e ""https://EndPoint"" -r > ""ExecutionLog.Txt" Obviously, the values I provided are not those text values - I put the actual details in there. Example, ProxyPort could be 8080. I know the XML for the settings of the proxy looks like this: <con:soapui-settings xmlns:con="http://eviware.com/soapui/config"> <con:setting id="ProxySettings@autoProxy">XYZ</con:setting> <con:setting id="ProxySettings@enableProxy">XYZ</con:setting> <con:setting id="ProxySettings@host">XYZ</con:setting> <con:setting id="ProxySettings@port">XYZ</con:setting> <con:setting id="ProxySettings@username">XYZ</con:setting> <con:setting id="ProxySettings@password">XYZ</con:setting> </con:soapui-settings> BUT, I don't know if this goes into the query OR directly in the settings file and then you can parametrize it like this: <con:soapui-settings xmlns:con="http://eviware.com/soapui/config"> <con:setting id="ProxySettings@autoProxy">${#Project#autoProxy_TrueOrFalse}</con:setting> <con:setting id="ProxySettings@enableProxy">${#Project#activateProxy_TrueOrFalse}</con:setting> <con:setting id="ProxySettings@host">${#Project#proxy_Host}</con:setting> <con:setting id="ProxySettings@port">${#Project#proxy_Port}</con:setting> <con:setting id="ProxySettings@username">${#Project#proxy_Username}</con:setting> <con:setting id="ProxySettings@password">${#Project#proxy_Password}</con:setting> </con:soapui-settings> I even tried to modify the command line query like: "cmd /C CD C:\Program Files\SmartBear\SoapUI-5.2.1\bin & testrunner.bat -c""TestCase"" ""SOAP_QUERY.XML"" -S -P""UserName=UsernameTest"" -P""Password=PasswordTest"" -t""ProxySettings@autoProxy=False"" -t""ProxySettings@enableProxy=True"" -t""ProxySettings@host=ProxyAddress"" -t""ProxySettings@port=ProxyPort"" -t""ProxySettings@username=ProxyUsername"" -t""ProxySettings@password=ProxyPassword"" -P""OutPutDumpFileLocation=OutPut.XML"" -e ""https://EndPoint"" -r > ""ExecutionLog.Txt" Please if anyone has experience in creating this command line execution PLEASE HELP ME.1.3KViews0likes0CommentsInspect element or page souce of SOAP UI Browser window
I am validating the OAuth functionality within SOAP UI tool and I need to know if we can change the default browser or if not how do we view the page source just like we do it in any other browser ? ( right click isn't an option here ) Image reference below487Views0likes0CommentsHow to get 'reports from Soapui' using Groovy
I am new to groovy and i am trying to create framework for my company.i have added code where i am passing the request using excel from soapui and the response received will get add in excel itself.I want the report as pass or Fail. I have the code for reporting but i am not able to connect both the code . I am trying to generate the report where the data running from excel and soapui matches and add in report fail or pass import com.eviware.soapui.support.XmlHolder import java.io.File; import java.io.IOException; import jxl.*; import jxl.read.biff.BiffException; import jxl.write.*; log.info("Service Testing Started") def reqOperationName = "Div_Insert"; def inputDataFileName = "C:/Users/xxxxxx/xxxx.xls" def inputDataSheetName = "Division insertion"; Workbook workbook = Workbook.getWorkbook(new File(inputDataFileName)); WritableWorkbook copy = Workbook.createWorkbook(new File(inputDataFileName),workbook); WritableSheet sheet1 = copy.getSheet(inputDataSheetName); def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) def reqholder = groovyUtils.getXmlHolder(reqOperationName+"#Request") try{ rowcount = sheet1.getRows(); colcount = sheet1.getColumns(); for(Row in 1..rowcount-1){ for(Col in 2..colcount-1){ String reqTagName = sheet1.getCell(Col,0).getContents() def TagCount = reqholder["count(//*:"+reqTagName+")"] if(TagCount!=0){ String reqTagValue = sheet1.getCell(Col,Row).getContents() reqholder.setNodeValue("//*:"+reqTagName, reqTagValue) reqholder.updateProperty() } } testRunner.runTestStepByName(reqOperationName) def resholder = groovyUtils.getXmlHolder(reqOperationName+"#Response") resTagValue1 = resholder.getNodeValue("//*:sys_id") resTagValue2 = resholder.getNodeValue("//*:table") resTagValue3 = resholder.getNodeValue("//*:display_name") resTagValue4 = resholder.getNodeValue("//*:display_value") resTagValue5 = resholder.getNodeValue("//*:status") resTagValue6 = resholder.getNodeValue("//*:status_message") resTagValue7 = resholder.getNodeValue("//*:error_message") resTagValue8 = resholder.getNodeValue("//*:map") Label resValue1 = new Label(6,Row,resTagValue1); sheet1.addCell(resValue1); Label resValue2 = new Label(7,Row,resTagValue2); sheet1.addCell(resValue2); Label resValue3 = new Label(8,Row,resTagValue3); sheet1.addCell(resValue3); Label resValue4 = new Label(9,Row,resTagValue4); sheet1.addCell(resValue4); Label resValue5 = new Label(10,Row,resTagValue5); sheet1.addCell(resValue5); Label resValue6 = new Label(11,Row,resTagValue6); sheet1.addCell(resValue6); Label resValue7 = new Label(12,Row,resTagValue7); sheet1.addCell(resValue7); Label resValue8 = new Label(13,Row,resTagValue8); sheet1.addCell(resValue8); } }catch (Exception e) {log.info(e) } finally{ copy.write(); copy.close(); workbook.close(); } log.info("Service Testing Finished") Reporting code: try {r def projectPath = new com.eviware.soapui.support.GroovyUtils(context).projectPath String folderPath = projectPath + "/SoapUIResults"; def resultFolder = new File(folderPath); if(!resultFolder.exists()) { resultFolder.mkdirs(); } Date d = new Date(); def executionDate = d.format("dd-MMM-yyyy HH_mm"); String subfolderPath1 = folderPath+ "/Request-Response_"+executionDate; new File(subfolderPath1).mkdirs(); String subfolderPath2 = folderPath+ "/CSV Reports"; new File(subfolderPath2).mkdirs(); def reportFile = new File(subfolderPath2, "Report_"+executionDate+".csv"); if(!reportFile.exists()) { reportFile.createNewFile(); reportFile.write('"Test Suite","Test Case","Test Step","Step Type","Step Status",'+'"Result message","Execution Date"'); } for(stepResult in testRunner.getResults()) { def testSuite = testRunner.testCase.testSuite.name; def testCase = testRunner.testCase.name; def testStep = stepResult.getTestStep(); def testStepName = testStep.name def type = testStep.config.type def status = stepResult.getStatus() reportFile.append('\n'); reportFile.append('"' + testSuite + '",'); reportFile.append('"' + testCase + '",'); reportFile.append('"' + testStepName + '",'); reportFile.append('"' + type + '",'); reportFile.append('"' + status + '",'); reportFile.append('"'); for(resMessage in stepResult.getMessages()) { reportFile.append('Message:' + resMessage + '\n'); } reportFile.append('",'); reportFile.append('"' + executionDate + '",'); if((type=="request").or(type=="restrequest")) { def extRequest = testStep.properties["Request"].value; def requestFile=subfolderPath1+"/request_"+testSuite+"_"+testCase+"_"+testStepName+".txt"; def rqfile = new File(requestFile); rqfile.write(extRequest, "UTF-8"); def extResponse = stepResult.getResponseContent(); def responseFile=subfolderPath1+"/response_"+testSuite+"_"+testCase+"_"+testStepName+".txt"; def rsfile = new File(responseFile); rsfile.write(extResponse, "UTF-8"); } } } catch(exc) { log.error("Exception happened: " + exc.toString()); } The file is getting corrupted when the code is run.796Views0likes1CommentHow to increase SOAP UI performace to push more SOAP request in a second.
As part of a process, we need to generate a load of 2.77 SOAP requests per second. I am using Groovy script to run the load with multiple threads and accessing multiple excel files for different data for each unique data. In any way, i am not able to reach transaction rate of 1.7 and above. Inspite of all recommended memory management, my SOAP UI takes minimum 3 seconds for a request. In case of my load, i am not needed to wait for the response, So can Soap ui just submit request and don't wait for a response, thus increase the speed of per second transaction rate. Any help will be greatly appreciated.2.6KViews0likes7Commentssoap ui error while using wcf with wshttpbinding for Kerberos authentication
Hi, Using Soap UI as a client accessing the WCF service with the wshttpbindingwith the below configuration: <wsHttpBinding> <binding name="Binding1" receiveTimeout="00:30:00" sendTimeout="00:30:00" closeTimeout="00:30:00" openTimeout="00:30:00" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647"> <security mode="TransportWithMessageCredential"> <message clientCredentialType="Windows" negotiateServiceCredential="false" establishSecurityContext="false" /> </security> </binding> </wsHttpBinding> We need to authenticate using the Kerberos token but we are getting the below error: <s:Fault> <s:Code> <s:Value>s:Sender</s:Value> <s:Subcode> <s:Value xmlns:a="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">a:InvalidSecurity</s:Value> </s:Subcode> </s:Code> <s:Reason> <s:Text xml:lang="en-GB">An error occurred when verifying security for the message.</s:Text> </s:Reason> </s:Fault> I tried the following way from the websites such as : 1.wss-passwordtype to passwordtext 2.https://www.soapui.org/soap-and-wsdl/spnego/kerberos-authentication.html ,I referred thi ssite and made all the changes. But nothing works. Can you please help to fix this issue.1.7KViews0likes0CommentsSoap UI 5.3 doesnt work with Selenium 3.0.1 due to apache http jar version mismatch.
Are there versions of Soap UI and Selenium that work together? I tried 5.3 and 3.0.1 but that did not work. The selenium version of http is much more recent that the Soap UI versions. Apparently this is an ongoing problem: https://community.smartbear.com/t5/SoapUI-Open-Source/SoapUI-5-0-0-and-Selenium-WebDriver-2-44-0/td-p/953532.2KViews0likes4Comments