Rest step assertions written in SoapUI 5.5.0 are failing in SoapUI 5.8.0
I am using SoapUI 5.5.0 and we are in the process of migrating our scripts to SoapUI 5.8.0.But after migrating to SoapUI 5.8.0 many rest step assertions are failing because json path libraries in SoapUI 5.8.0 are enforcing stricter compliance/parsing when validating assertions. Some of my assertions with indices are failing only in SoapUI 5.8.0 like for example jsonpath count assertion $..id[0] is failing in 5.8.0, but working fine with SoapUI 5.5.0. I would like to know 1.Is there any SoapUI preference or a property or flag in settings.xml with which I can revert to a more lenient compliance check with schema like in SoapUI 5.5.0? 2.Is there any patch or plugin by using which my rest step assertions written in 5.5.0 will pass? 3.Or any other solution or groovy script If I have this solution, i can save time in modifying all assertions which will take days16Views0likes0CommentsImprove searching in the navigation panel
Search in the navigation panel could also support searching for test steps based on API endpoints. This means that if an endpoint is entered into the search field in ReadyAPI, it will find all test steps where the given endpoint is used.79Views1like4CommentsImprove searching in the navigation panel
Search in the navigation panel could also support searching for test steps based on API endpoints. This means that if an endpoint is entered into the search field in ReadyAPI, it will find all test steps where the given endpoint is used.33Views0likes1CommentRest request attachments multipart form data for json file with parameterized json data
So I have been trying to do a scenario where i have two attachments for a rest request, one json file which i need to parameterize couple of fields from previous request. The problem with this is once you have cached the attachment you cannot modify it based on the previous test steps, So i have followed the following youtube link https://www.youtube.com/watch?v=iL-zehJmtWw Used query parameter to use a locally store file of json to request but we are getting the error from response that application/octet-stream content type is not accepted ------=_Part_01_136051460.1696260652738 Content-Disposition: form-data; name="testFile" testFile:/Path/to/file/testFile.json I have used parameter like this testFile:${projectDir}/testFile.json What should I do in this case1.3KViews0likes7CommentsHow to set different Content-Types in multipart/form-data POST Request?
I have a REST API, that I can curl correctly, but I can not get it done in ReadyApi. I have to upload a picture and a json string, which has the content-type "type=application/json": curl -X 'POST' 'http:/localhost:12345/rest/add' -H 'Content-Type: multipart/form-data' -F 'picture=@/home/my.jpg' -F 'criteria={"personId":"string"};type=application/json' I ticked "Post QueryString" and selected multipart/form-data. When I look up in the RAW tab, I see, that for criteria no content-type is set. The error message in ReadyApi says: Content type 'application/octet-stream' not supported It is necessary for me to set the content-type of my criteria JSON Object to "application/json". Otherwise I will get this error. I am on ReadyApi 3.45. Does anyone have a clue, how to solve the problem?Solved218Views0likes1CommentHow to change the API of a REST test step
Hi guys, If you test REST APIs in SoapUI, you may encounter an issue where you cannot change the API attached to the REST test step. I am not aware of any standard way to do it, so I prepared a simple Groovy script to change the test step's API programmatically: testRunner.testCase.getTestStepList().each(){ step = it service = step.getService() log.info("TestStep: ${step.getName()}") config = step.getRequestStepConfig() log.info "Before: ${step.getService()}" config.setService("BankGround_v1.12") log.info "After: ${step.getService()}" } I thought this may help those of you who work with REST APIs, which get changed over time (new versions). For a longer story, you can visit the following article: https://www.linkedin.com/pulse/soapui-what-rest-api-changes-karel-husa-7vb2e46Views2likes0CommentsProperty transfer version 5.7.2 not removing double quotes.
I am doing property transfer by using the setup script through sql. My request has something which should be in []. I have created the propert transfer like below For the Target i have given like below. $.dispositionIds In the setup script I am giving like below. String dispositionIds = rows.DISPOSTN_ID //Set Property value testRunner.testCase.setPropertyValue( "DISPOSTN_ID", dispositionIds ) After runng the script I am getting the value in double quotes "" like shown below. "dispositionIds":"[1282678]" ---But becasue of the double quotes, My request is thrownig an error saying invalid json. My Colleagesue have a differnt verison soap 5.6.0 and it is working fine for them.SolvedREST request with parameters - how to avoid default Content-Transfert-Encoding:quoted-printable ?
Hi, I am facing to an issue (with soapUI version 5.6.0). My POST REST request have two parameters. One of them is a zip file converted in Base64. In Request Raw tab You can see a parameter "Content-Transfert-Encoding" with "quoted-printable". The parameter content contains multiple lines may be due to the Content-Transfert-Encoding parameter value. Expected one line with all the parameter content How to avoid this default value ? In a previous topics one member says that soapUI uses the mail api. And explains that if the primary type of this datasource is "text", and : - If all the bytes in its input stream are US-ASCII, then the encoding is "7bit". - If more than half of the bytes are non-US-ASCII, then the encoding is "base64". - If less than half of the bytes are non-US-ASCII, then the encoding is "quoted-printable". But how to make sure that more than half of the bytes are non-US-ASCII ?737Views0likes5CommentsParse a multipart/data-form response
Hello all, In my project, I want to assert the content of the reply from my server. I send a POST request containing only a xml file, and I get a multipart/form-data containing 2 parts as a response, as expected. How do I parse those 2 parts of the response in a grovvy script ? The problem is that the "response" property of my Request only contain the first part. The 2nd seems to be lost. Thank you for your support.489Views0likes1CommentSet Authorization Method defaults in Auth Manager which can be inherited by environments
Each of my Ready API projects have dozens of tests and 10+ environments each. The authorization methods for each API request/test is the same across all environments, but any time I need to make changes, or add new requests/tests, I have to open up the environment configuration window. and then for each environment I have to: select the api > Edit > Authorization > Configure > Auth Manager > expand out all of the requests/test steps > make any changes (which is like 3 mouse clicks each plus some scrolling) > close > save And then repeat the exact same steps 10+ more times. Even using inheritance within an environment as much as I can, it's incredibly tedious, and often leads to developers making quick one-off changes in the request/test itself which gets applied inconsistently across environments and then wonder why our automated tests start failing I propose being able to use Auth Manager in the "No Environment" to set the authorization methods in one place, which can then be applied to all environments (unless overridden). Basically, in addition to Inherit From Parent, there could be an Inherit From Default Environment. That way, if an environment will be using all the defaults I only need to touch the environment level auth manager once, set Inherit From Default Environment at the project level for each environment, and then apply that to all dependencies. Any time changes need to be made, I could open up the No Environment Auth Manager, make my changes there, and know it will apply to all all environments inheriting from the default.69Views2likes0Comments