ContributionsMost RecentMost LikesSolutionsChange URL/Resource that a test step is using. We are refactoring some services to live at a different end point. When I edit a test step I do not see an option to change the endpoint! I can select a different one if I re-create the test step but that is too time intensive of a fix. Can I change only some test steps to use a different end point? Re: Checking unordered result sets from JDBC query I ended up writing a script for this. Here it is current watchers and future googlers. Note that this solution ignored the Row element in both the results and the expected values since the rowNumber value isn't relevant. I hope this helps! def allslurped = new XmlSlurper().parseText("""<Results> <ResultSet fetchSize="0"> <Row rowNumber="1"> <UNITS>4000</UNITS> <AMOUNT>12800</AMOUNT> <DOCID>3131459</DOCID> </Row> <Row rowNumber="2"> <UNITS>6000</UNITS> <AMOUNT>1160800</AMOUNT> <DOCID>3131459</DOCID> </Row> <Row rowNumber="3"> <UNITS>-3100</UNITS> <AMOUNT>899000</AMOUNT> <DOCID>3131460</DOCID> </Row> <Row rowNumber="4"> <UNITS>300</UNITS> <AMOUNT>-22500</AMOUNT> <DOCID>3131460</DOCID> </Row> </ResultSet> </Results>""") def expected_row01 = """<Row rowNumber="1"> <UNITS>4000</UNITS> <AMOUNT>12800</AMOUNT> <DOCID>3131459</DOCID> </Row>""" def expected_row02 = """<Row rowNumber="2"> <UNITS>-3100</UNITS> <AMOUNT>899000</AMOUNT> <DOCID>3131460</DOCID> </Row>""" def expected_row03 = """<Row rowNumber="3"> <UNITS>6000</UNITS> <AMOUNT>1160800</AMOUNT> <DOCID>3131459</DOCID> </Row>""" def expected_row04 = """<Row rowNumber="4"> <UNITS>300</UNITS> <AMOUNT>-22500</AMOUNT> <DOCID>3131460</DOCID> </Row>""" def expected_rows = [new XmlSlurper().parseText(expected_row01), new XmlSlurper().parseText(expected_row02), new XmlSlurper().parseText(expected_row03), new XmlSlurper().parseText(expected_row04)] for(item in allslurped.ResultSet.Row) { assert expected_rows.contains(item) : "Database has unexpected data: " + item expected_rows.remove(item) } assert expected_rows.size() == 0 : "Expected row(s) not found: " + expected_rows assert allslurped.ResultSet.Row.size() == 4 : "Database results are too long, expected 4" Checking unordered result sets from JDBC query Hi all, I was looking for some advice on how to handle unsorted JDBC results. The below is an example of some query results, simplified a little to keep it short. Wehave rows that are grouped by the DOCID column but they can come in any order other than that. Is there a way to check thata row exists in the result set easily? For example I need to be able to check that there is a row that has UNITS of 4000, AMOUNT of 12800 and DOCID of 3131459 but thatrow can appear in any order in the result set so I'm drawing a blank on a way to do this. Any advice is appreciated. <Results> <ResultSet fetchSize="0"> <Row rowNumber="1"> <UNITS>4000</UNITS> <AMOUNT>12800</AMOUNT> <DOCID>3131459</DOCID> </Row> <Row rowNumber="2"> <UNITS>6000</UNITS> <AMOUNT>1160800</AMOUNT> <DOCID>3131459</DOCID> </Row> <Row rowNumber="3"> <UNITS>-3100</UNITS> <AMOUNT>899000</AMOUNT> <DOCID>3131460</DOCID> </Row> <Row rowNumber="4"> <UNITS>300</UNITS> <AMOUNT>-22500</AMOUNT> <DOCID>3131460</DOCID> </Row> </ResultSet> </Results> SolvedRe: very large setting.xml Iopened a support ticket and they offered to adjust it so I sent thema 500 MB file and got back a 27 k file. There is also a fix coming out for this issue in the next ReadyAPI version which they said is coming out next(this?) week. Re: validate json items in an array As a follow up, in the scriptposted how does that assert in a soap ui test? Would you run that script as a test step then assert on the 'work_unit id is found in node' text? And thanks! That is really helpful! I did end up using a script assert which seems to have solved my problems. The assert looks like this: def json = new groovy.json.JsonSlurper().parseText(context.response) assert json.Records.work_unit.id.contains('RecordsIdValue') validate json items in an array I have an API that returns JSON and I'm unsure the best way to get to the element I'm trying to check. Here is a sample: { "Records": [{ "correlation_id": null, "date": "2017-12-26", "pay_period_end_date": "2017-12-31", "work_unit": { "id": "a1B1H00121212WUdfsdfX" } }, { "correlation_id": null, "date": "2017-12-26", "pay_period_end_date": "2017-12-31", "work_unit": { "id": "kdkd9df980sdkdn2" } }] } I'm trying to check that a specific Records[<somevalue>].work_unit.id value is present.We aren't always guaranteed to have them in the same order so I need to check if any object in the array has a work_unit.id ofkdkd9df980sdkdn2. I can get a jsonpath that will give me an array of the values butcan't seem to see a way to validate that since the results changing order still causes the validation to fail. Is there a feature of soapui that I'm missing that could do this? Any suggestions on how to tackle this problem? Thanks! Re: very large setting.xml Since the file ballooned to 10 million lines long, it was not possible to edit manually on my end. Smartbear had a fix for this so I'm back up and running with a 27k settings.xml file again. very large setting.xml We have a fairly large soap ui project that was originally a 'regular' project. We converted it to a composite project since we now have several people working on it. Once we did that I noticed that the setting.xml file is almost 500MB in size and we get out of memory errors all the time now as well. I tried google but only found a reference to deleting<xml-fragment> tags but there are a lot and I hesitate to try to script this. Any help here? Solvedimporting composite project in 2.3.0-snaphot only works sometimes. most often it does not. Hi all, we have a composite project in soap ui pro. We have to run 2.3.0-snapshot because of an issue in evaluating null fields. Recently my instance of ready api crashed with an out of memory error and when I restarted the application, my project wasn't listed anymore. When I try to 'import composite project' the ui responds for a couple seconds then just sits there. Multiple tries will sometimes result in the project importing but mostly, I cannot import the project. I tried importing an older version that was in the single file mode and was able to import that successfully but composite project importing still eludes me. Please help, we have invested in this tool quite a lot. Thanks, Scott null JSON validation seemingly handled differently between 2.2 and 2.3 Wehave a test that checks a JSON field for null, the field looks like this: "exceptionHeader" : null In 2.2 we have an assertion for that field and in the Expected Result box is 'null'. This test passes with 'null' in the Expected Result box. This same test when run in 2.3 will fail with this error: Comparison failed. Path: [$['exceptionHeader']]; Expected value: [null]; Actual value: []. It appears that the comparison in 2.2 recognizes 'null' as a string null and 2.3 thinks the value 'null' in the field means it is null. Expected change? Can I expect to make changes all though the tests to account for this or is this an error?