Test different resource values in SOAP UI
Hi, I am trying to create tests for the endpoint which ends like this: /account/id where id can have different values. In SOAP UI I want to test whether the correct value return 200, and other incorrect values return 400, so I would like to have tests: 1. /account/1234 - correct 2. /account/abc - incorrect However I am unable to change the values of the resource in Test Cases in SOAP UI as it is hardcoded: Is there any way I can change resource depending on the test?437Views0likes0CommentsReadyAPI and TestEngine with Zephyr Scale
In this post, we are going to talk about using some of the SmartBear API testing tools and writing the results in an automated fashion to Zephyr Scale. But first let's take a step back and discuss a general approach of using testing tools with test management tools. At a manual level, when creating simple Multi-Protocol API tests, we might use a lighter weight tool like SoapUI Open Source, a great tool for quick and basic functional and performance API tests. After we trigger the test manually, we as humans would parse the report for any details on the test run, and to track it would update a spreadsheet, testcase in Jira, but somewhere. This sequence is important to note for when we start to advance to an automated workflow. Now let's talk about automating this process. We execute our API tests in an ephemeral environment, publish the results to a relative location, and then pass those results from that relative location to a test management platform. It is quite simple. In this workflow it tends to be easier to use a tool that has native integrations into CI platforms like Jenkins and Azure Dev Ops, that make managing our executions in these ephemeral environments much easier. Here, ReadyAPI, or TestEngine is the clear choice as they both seamlessly integrate into any CI-CD system and have native integrations into Jenkins, Azure, and many more. Now that sequence I mentioned earlier is very important. We will execute our API tests, and then pass the results into Zephyr Scale as step 2 in the pipeline. Here is a look at a scripted pipeline approach, note that there is freestyle job options available in Jenkins too. ReadyAPI Jenkins Plugin: https://support.smartbear.com/readyapi/docs/integrations/jenkins.html TestEngine Jenkins Plugin: https://support.smartbear.com/testengine/docs/admin/jenkins.html node { stage('Run API Tests') { // Run the API Tests using ReadyAPI or TestEngine stage('Pass Results') { //Pass Results to Zephyr Scale } } Now we need to be a little more specific with the 'Run API Tests' Stage. Above I mention when we run our API Tests in an automated fashion, we need to write the results to a relative location so that we can then send those results to Zephyr Scale from that location. Both ReadyAPI and TestEngine allow us to write results to locations as part of the command-line or native integrations. I will show command- line options for ReadyAPI and UI native integration for TestEngine but both options are available for both tools. Starting with ReadyAPI, testrunner CLI, the -f and -F flags represent the directory we are writing to, and the report format, respectively. ReadyAPI offers reports in PDF, XLS, HTML, RTF, CSV, TXT and XML, but the automation recommendation would be to pass results in the Junit-XML option. At a basic level we need this: testrunner.bat [optional-arguments] <test-project> And we need to specify -f and -F testrunner.bat -f<directory> -F<args> <test-project> and with -f requiring a relative directory, that can change based on the CI system. I will use Azure Dev Ops for both my examples here. In Azure I pull my test cases from the $(System.DefaultWorkingDirectory), which contains my git repo. In Azure I publish results to the $(Common.TestResultsDirectory) An example full command would look like this: "C:\Program Files\SmartBear\ReadyAPI-3.40.1\bin\testrunner.bat" -r -a -j -f$(Common.TestResultsDirectory) "-RJUnit-Style HTML Report" -FXML "-EDefault environment" "$(System.DefaultWorkingDirectory)/" With TestEngine it's very similar, but I am highlighting it through the native integration, note the publish test results and save Junit report option enabled below: Now lastly, we need to send the results to Zephyr Scale from the pipeline, before our release is over. I think it's easiest with the Zephyr Scale API: https://support.smartbear.com/zephyr-squad-cloud/docs/api/index.html along with the Auto-Create Test Case option to true. The command below is a basic example, and replica of the one seen in the Azure Pipeline screenshot. curl -H "Authorization: Bearer Zephyr-Scale-Token-Here" -F file= Relative-Location-of-Report-Here\report.xml;type=application/xml "https://api.zephyrscale.smartbear.com/v2/automations/executions/junit?projectKey=Project-Key-Here&autoCreateTestCases=true" After you modify the API token, Relative location, and project key you are good to run the pipeline. When we jump to Jira, we can see inside Zephyr Scale that the results are populating. Even with transactional Data on the failed test steps.1.9KViews0likes0CommentsManage the projectVersion field in "Setting.xml" , so it doesn't update with every save or reload
Reference Issue - https://community.smartbear.com/t5/ReadyAPI-Questions/Ready-API-3-42-0-automatically-updates-projectVersion-every-time/m-p/240988/emcs_t/S2h8ZW1haWx8dG9waWNfc3Vic2NyaXB0aW9ufExBSklETVhHWkdEMTUxfDI0MDk4OHxTVUJTQ1JJUFRJT05TfGhL#M57307 projectVersion value changes everytime a project is saved. When trying to Pull changes from git, setting.xml needs to be committed first, but it re-appears again as a new change, which blocks pulling from git. The "Discard all changes", don't really discard the document.1.5KViews10likes3CommentsAdd an event for Report post-processing
The need In ReadyAPI there are nice options of reporting, however there is missing any function to do report post-processing. The post-processing needs are: to send a report via email put the report into a storage create a Jira item etc. Currently the report files are just placed in the output directory. On TestCase and TestSuite level there are Report script holders, but the purpose of the script is to extend the reporting options (it is executed before the reports are finished, not after), i.e. for report pre-processing. On the project level there is no such option. Solution proposal A good place to execute specific actions are the events. But there is no "ReportListener.afterReport" event. Please add a new event ReportListener.afterReport which will be triggered after any report is finished by testrunner. Such event will be used by Groovy scripts to do the report post-processing.817Views2likes0CommentsSmart Assertion Conditions NOT Matches Regex
List of Smart Assertion Conditions 0. <, > , >= , <= 1. Equals AND Not Equal 3. Equals (one of) AND Not Equal (one of) 5. Exists AND Does NOT Exist 7. Empty AND NOT Empty 9. Contains AND does NOT Contain 11. Matches (regex) AND.... AND..... (!!) And... and..... and....!!! Uh..... what happened to NOT MATCHES (regex) ?!?!1.8KViews2likes3CommentsDistroless docker images for Test Runner and LoadUI Agent
Dear Smartbear, we are planning to use the pre-configured Docker images (Test Runner and LoadUI Agent) to run tests in our GitLab CICD pipelines. But after consulting with our IT Security Department, only distroless images are allowed to use within our company. The bare minimum of a distroless image - as required by our IT Security Guideline - is that it contains no package manager. It can be achieved, for example, by a multi-stage docker build, in which the package manager is removed at the last stage. Thus, I would like to ask you to provide officially distroless Docker images for the Test Runner and LoadUI Agent. In addition, distroless Docker images are becoming best practices and the default choice for deployment containers. So I'm pretty sure, that a lot of your users would benefit from it 🙂 Thank you very much in advance! Best regards, your ReadyAPI user506Views0likes0CommentsA way to control the displayed width of tab characters in editable windows
I think it would be good to have a way to control the displayed width of tab characters in editable windows such as the SoapUI Request step XML editor. Is it possible to add such option in Preferences?441Views0likes0CommentsMasking encrypted properties in ReadyAPI Test for Azure DevOps task instead of plain text
Hi, The latest version of ReadyAPI 3.20.0 seems to fix encrypted properties being displayed as plain text in logs within the ReadyAPI software itself but this does not translate when running the project from Azure DevOps using the "ReadyAPI Test for Azure DevOps task" as encrypted properties are still being exposed there. 1. The project password for the task is in plain text - This property should be masked as anyone who views the task would be able to download and access the encrypted project and its properties. 2. Encrypted properties are displayed in the logs/requests as plain text The password has been encrypted in the custom properties using the "selected properties" project encryption . However, encyrpted properties are being shown in the task logs when a request that uses the properties fail or when logged using groovy script as plain text. This display of encrypted properties as plain text is unacceptable especially when creating production tests so it would be benefical if encyrpted properties are not exposed. Thanks, Kayleigh1.3KViews1like1CommentRun From Here at the Test Case level (not just the test step level)
I distinctly remember being able to use a 'Run From Here' option (context menu when right clicking a test case from the Test Suite summary screen i.e. the one where the bars show green and red when a test passes or fails). It seems to be gone in one of the last versions? I can see inside a Test case if you right mouse click on a test step you can select run from here. What happens to me is I have a suite with 20 cases and case 14 fails. I then inspect it and want to run case 15 onwards so in the past I would right mouse click this test case and choose Run From Here ...978Views1like1Comment