ContributionsMost RecentMost LikesSolutionsAuto-Populate Data Generator "Value from set" values Is there anyway to automatically populate the values list in the "Value from set" option in the Data Generator section of the Data Source step? Digging through the API definition for the DataGenerator DataSource step https://support.smartbear.com/readyapi/apidocs/3.0.0/pro/com/eviware/soapui/impl/wsdl/teststeps/datasource/DataGenerator/UI/DataGeneratorDataSource.html I could probably do this with a call to setConfig but was wondering if I was missing something easier? We need to run some load tests on a system to do some troubleshooting. Each request needs to submit one of a selection of id's. This would be simple and not a problem except that these id's change on a daily basis. We also want these to run with minimal need for user intervention. Regards SolvedRe: Is it possible to set the test case failed reason that is used in the reports? We are using PDF reports. Is it possible to set the test case failed reason that is used in the reports? This question came up a couple of days ago when going through a TestSuite Report with other team members. Is it possible to set the test case failed reason to a custom message? Currently when a TestCase fails the report simply shows the reason as 'Failing due to failed test step', and I was asked "That's a bit vague, any chance of getting a more descriptive message there." This leads to another question, what other reasons are there? I checked back in a few reports and all I ever see is "Failing due to failed test step." I looked through the javadocs and gained no particular insight there. ps. I would love for there to be a "Curiosity" label for questions like these. 😼 Need to get the tags combination specified for a test suite run to add to report. Problem: I need to add which tags were specified for a test suite run for inclusion in our customized test suite report. This was relatively easy for the case where we run the tests from the command line by using the result of com.eviware.soapui.SoapUI.cmdLineRunner.cmd.getOptionValue('T') However, I cannot seem to find the equivalent mechanism to get which tags were specified for when a test suite is run from the UI. ReadyAPI LoadAgent error "Failed to set the project environment." We are using LoadUI in distributed mode and sometime some agents throw the following error "Failed to set the project environment." and any test that target that agent fail with an "endpoint is not defined" message. The project only has one environment specified. We can mitigate this problem by restarting agents but this is blocking our ability to add some load testing in to our automated build / deploy pipeline. Has anyone had any experience with this error and what the cause(s) of it could be and how to fix it instead of just mitigating as we do now? Steve Re: Report not generated from security test runner batch file Sort of not answering my own question here but explaining how we solved the initial problem It's a convoluted process but by using QA Compltete to execute a TestComplete test that executes a ReadyAPI Security Test we can do what we want. Re: Report generated via teardown script does not contain any data Thank you for the suggestion, however running it via an event handler did not change the outcome. Ready API still generates a report with no data populated and a start and end time of Dec 31 1969. Report generated via teardown script does not contain any data We need to be able to execute a security test and then save both the Security Issues Report and the Security Test Report with a specific filename structure to a network share. The test runner only allows directly saving a single report per test run. Therefore we need to generate these reports via a teardown script. Thankfully, or so we thought, SmartBear kindly provided a template for this exact thing (https://support.smartbear.com/readyapi/faq/configuring-readyapi-to-save-project-or-testsuite/) Modifying the script to target the SecurityTestCaseReport instead of the WsdlTestSuiteReport got the two reports generating upon the test finishing. However upon reviewing the reports, the Security Test Report was only populated with the number of test steps, number of security scans and the Start and End times are Wed Dec 31 17:00:00 MST 1969 (which just happens to be the timezone adjusted epoch start of January 1st, 1970 at 00:00:00 UTC) - See attached pdfs Seeing as the sample script is fairly recent from 4/30/2021, I decided to put the script directly in a TestSuite teardown script thinking maybe it only works with functional tests. No same issue no data in the report. Again to try and isolate anything odd about my projects, I used the VirtualServices-readyapi-project from the tutorials folder. Doing some searching of the community pages here, this issue has come up a few times with either no answer or recommending that people use the test runner or pointing people back to the teardown script linked at the start (circular dependencies are great eh) Does this teardown script actually work? Is it possible to generate reports from a teardown script? Can someone correct the script so that it does work? Regards Steve All of this was running ReadyAPI version 3.41.1 Report not generated from security test runner batch file This is more of an intriguing question rather than a blocker as I have a work around Since there doesn't seem to be a way to run ReadyAPI load or security tests from QA Complete I am investigating running them from a groovy script creating a process and running the appropriate testrunner.bat file. Initially I created a groovy script as follows (took me a while to figure out how to get the runner output to the log window and i'm sure there are better ways) def testRunnerPath = 'C:\\Program Files\\SmartBear\\ReadyAPI-3.20.2\\bin' def suite='-sSecurity' def testcase = '-cAutomationTest' def securityTest = '-nAutomationTest' def reportLoc = '-fC:\\repos\\Reports' def reportType = '-R"SecurityTest Report"' def reportFormat = '-FPDF' def env = '-Eperf' def project = 'C:\\repos\\compositeprojectdir' def args = ['cmd.exe','/c', 'securitytestrunner.bat', suite, testcase, securityTest, reportLoc, reportType, reportFormat, env, project] def pb = new ProcessBuilder( args ) pb.directory(new File(testRunnerPath)) log.info pb.command() try { log.info "Start..." Process process = pb.start() process.in.withReader { r -> r.eachLine { line -> if(line.contains("WARN")) { log.warn "batch file output> ${line}" } else if (line.contains("ERROR")) { log.error "batch file output> ${line}" } else { log.info "batch file output> ${line}" } } } process.waitForProcessOutput(System.out, System.err) } catch (IOException e) { log.warn ("Process killed before completing! ${e}") } catch (Exception e) { log.warn ("Process killed before completing! ${e}") } finally { log.info "End..." } This runs the security test with one small problem, the report generation step does not run. However, when, after banging my head against this problem for most of the day I created a simple batch file with the command generated from the test runner UI and just ran that batch file from the groovy script the report generated correctly def args = ['cmd.exe','/c', 'C:\\repos\\compositeprojectdir\\BatchFiles\\SecurityTest.bat' ] def pb = new ProcessBuilder( args ) log.info pb.command() try { log.info "Start..." Process process = pb.start() process.in.withReader { r -> r.eachLine { line -> if(line.contains("WARN")) { log.warn "batch file output> ${line}" } else if (line.contains("ERROR")) { log.error "batch file output> ${line}" } else { log.info "batch file output> ${line}" } } } process.waitForProcessOutput(System.out, System.err) } catch (IOException e) { log.warn ("Process killed before completing! ${e}") } catch (Exception e) { log.warn ("Process killed before completing! ${e}") } finally { log.info "End..." } Batch file Echo off "C:\Program Files\SmartBear\ReadyAPI-3.20.2\bin\securitytestrunner.bat" -sSecurity -cAutomationTest -nAutomationTest -fC:\repos\Reports -R"SecurityTest Report" -FPDF -Eperf C:\repos\compositeprojectdir This works and generates the report in the right place and I can work with this. So, either I am missing something really obvious and will hang my head in shame when it is pointed out or there is something subtle going on that I don't understand. SolvedExternal Java library management, looking for hints, tips and good practices. Couple of questions for the experts here since my searches don't seem to be finding the answers. 1. What is the best way to manage both external Java libraries and Groovy script libraries when upgrading or doing a clean install? Right now I keep the ones I use in a git repo along with a script to copy the jar files over each time I need to update / install. This works but does not feel like a good long term solution. 2. How do people make sure the external libraries they are kept up to date when there are features added / security holes patched etc.? Are there any package management tools for ReadyAPI? Solved