Contributions
Re: REST Response: executing several teststeps for every object in REST response. How?
Daag meneerMRutten,🙂 ${loopCount} is wrong. Use ${#Properties#loopCount}. After ${# you must wirte the location, in your case the properties test step. On the end you write the name of the property. In your example is the name of the property #loopCount}. Best wishes, Giovanni3 years agoPlace ReadyAPI QuestionsReadyAPI Questions957Views1like1CommentRe: REST Response: executing several teststeps for every object in REST response. How?
HelloMRutten, here are my answers: To 1) It depends on your skills and what are for you nice. A another way is to use more Groovy Script. Without Groove you can not resolve your issue. To 2) At same way you get the value for uuid. ${Query Zaken - GET by bsn#Response#$['count']} To 3) You can use nested properties. See below the link. There is the nested properties described and an example. https://www.soapui.org/docs/scripting-and-properties/property-expansion/ But this not enough. You need a loop and you can realize this with a Groovy Script - see below. You need a Groovy script after the test step with the query. This script check the count. Is the actual count greater then max count value (size of the array in the JSON) the script do nothing and the test case ends else increase the property count in the test step properties (first test step in your test case) and then in the script give the command to jump in to the query test step (testRunner.gotoStepByName("Query Zaken - GET by bsn")). You get the value from the count from the test step "Properties" with${Properties#count}. This test step is first test step in you test case. Finally you must write a script for the test case setup script. In this script you must initialize the count property in the test step "Properties" (context.getTestCase().getTestStepByName("Properties").setPropertyValue("count", 0)). I hope that my hints are helpful. Greetings3 years agoPlace ReadyAPI QuestionsReadyAPI Questions1KViews2likes3CommentsRe: encoding of utf-8 is set for some APIs test cases and not for some in project properties
Hello ravienu, what richiewrote is correct. I'd like to add a different perspective to richie's answer. Each system or systems behind an API is different and in part follows an individual configuration or implementation, complying with some standards or not. A good API also has good documentation. If this documentation, preferably with OpenAPI, defines that only UTF-8 is accepted and this specification is mandatory, then the character encoding must also be specified according to the documentation. It is not defined in HTTP that if nothing is specified then the message must be interpreted as UTF-8. It is good practice, if the message is not encoded in ASCII, to supply the character encoding. Only with ASCII characters can one assume that the characters will definitely be interpreted correctly - but in practice there is no guarantee of this. Always remember, no system or API is always correctly configured or implemented. Always take the safe route and always specify the character encoding. Cheers, Giovanni3 years agoPlace ReadyAPI QuestionsReadyAPI Questions1.9KViews0likes0CommentsLoadRunner logged an error " Failed adding AssertionItem"
Hello, we get an error message when a load test is running: 13:37:26,126 ERROR [AssertionAddonImpl] Failed adding AssertionItem java.lang.NullPointerException: Cannot invoke "com.eviware.loadui.api.statistics.StatisticVariable.getStatistic(String, String)" because the return value of "com.eviware.loadui.api.statistics.StatisticHolder.getStatisticVariable(String)" is null at com.eviware.loadui.util.serialization.StatisticResolver.getValue(StatisticResolver.java:62) ~[loadui-utils-3.30.0.jar:?] at com.eviware.loadui.util.serialization.StatisticResolver.getValue(StatisticResolver.java:1) ~[loadui-utils-3.30.0.jar:?] at com.eviware.loadui.impl.assertion.AssertionItemImpl.listenableValueFrom(AssertionItemImpl.java:210) ~[loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.assertion.AssertionItemImpl.<init>(AssertionItemImpl.java:186) ~[loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.assertion.AssertionAddonImpl.initialize(AssertionAddonImpl.java:116) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.assertion.AssertionAddonImpl.<init>(AssertionAddonImpl.java:106) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.factory.AddonFactoryImpl.createAssertionAddon(AddonFactoryImpl.java:22) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.assertion.AssertionAddonImpl$Factory.create(AssertionAddonImpl.java:279) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.assertion.AssertionAddonImpl$Factory.create(AssertionAddonImpl.java:1) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.addon.AddonHolderSupportImpl.ensureAddon(AddonHolderSupportImpl.java:94) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.addon.AddonHolderSupportImpl.getAddon(AddonHolderSupportImpl.java:66) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.model.ModelItemImpl.getAddon(ModelItemImpl.java:184) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.addon.AddonRegistryImpl.loadAddon(AddonRegistryImpl.java:51) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.addon.AddonRegistryImpl.registerAddonHolder(AddonRegistryImpl.java:114) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.addon.AddonHolderSupportImpl.init(AddonHolderSupportImpl.java:60) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.model.ModelItemImpl.postInit(ModelItemImpl.java:109) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.model.canvas.SceneItemImpl.postInit(SceneItemImpl.java:163) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.model.canvas.SceneItemImpl.newInstance(SceneItemImpl.java:146) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.model.canvas.project.ProjectItemImpl.loadScenes(ProjectItemImpl.java:366) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.model.canvas.project.ProjectItemImpl.init(ProjectItemImpl.java:298) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.model.canvas.project.ProjectItemImpl.superInit(ProjectItemImpl.java:288) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.model.canvas.project.ProjectItemImpl.<init>(ProjectItemImpl.java:200) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.factory.LoadUIModelItemFactoryImpl.createProjectItem(LoadUIModelItemFactoryImpl.java:72) [loadui-base-3.30.0.jar:?] at com.smartbear.load.impl.LoadUITestImpl.initProjectItem(LoadUITestImpl.java:108) [loadui-base-3.30.0.jar:?] at com.smartbear.load.impl.LoadUITestImpl.getProjectItem(LoadUITestImpl.java:97) [loadui-base-3.30.0.jar:?] at com.smartbear.load.impl.LoadUITestImpl.<init>(LoadUITestImpl.java:88) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.impl.factory.LoadUIModelItemFactoryImpl.createLoadUITest(LoadUIModelItemFactoryImpl.java:52) [loadui-base-3.30.0.jar:?] at com.eviware.loadui.cmd.LoadUITestCmdLineRunner.getTest(LoadUITestCmdLineRunner.java:741) [loadui-cmd-base-3.30.0.jar:?] at com.eviware.loadui.cmd.LoadUITestCmdLineRunner.start(LoadUITestCmdLineRunner.java:150) [loadui-cmd-base-3.30.0.jar:?] at com.smartbear.ready.cmd.runner.loaduicommandlinerunner.LoadUIProjectRunner.runRunner(LoadUIProjectRunner.java:166) [ready-api-runners-3.30.0.jar:?] at com.smartbear.ready.cmd.runner.AbstractSoapUIRunner.run(AbstractSoapUIRunner.java:333) [ready-api-runners-3.30.0.jar:?] at com.smartbear.ready.cmd.runner.AbstractSoapUIRunner.runFromCommandLine(AbstractSoapUIRunner.java:198) [ready-api-runners-3.30.0.jar:?] at com.smartbear.ready.cmd.runner.loaduicommandlinerunner.LoadUIProjectRunner.main(LoadUIProjectRunner.java:63) [ready-api-runners-3.30.0.jar:?] We used ReadyAPI 3.10.x, 3.20.x and 3.30.0. Know somebody why the errors will be logged?445Views1like0CommentsPossibility to change page orientation for last and performance Report (in Statistics)
Hello, I am using the function to compare test runs in "Performance Tests" under the "Statistics" section. I have configured a lot of charts and I want to output them as a printable report. The diagram does not look nice because the generated document has portrait orientation and the diagram is compressed. There is no way to change the orientation to landscape. The page orientation landscape gives the diagrams more space. The extra space stretches the diagram. The stretching will make the diagram easier to read.501Views0likes0CommentsRe: ReadyAPI 3.0.0 - The closing of projects takes a very, very long time
HiFelder71, The support could not reproduce the problem. I have deleted my user settings and the workspace file. Afterwards the problem was solved for a certain time. With version 3.1 I have the problem that ReadyAPI takes very long to start - several minutes. Closing the application was sometimes faster, it is still acceptable. I think that both observations are related - only the effects have changed. While waiting, ReadyAPI uses 30% of the CPU. It does something but I don't know what.5 years agoPlace ReadyAPI QuestionsReadyAPI Questions2.1KViews0likes1CommentRe: How to use external groovy script to save code repetition in setup/teardown scrips
Hidavebeattie, I think it's worth doing a script, your script is too simple for that. It consists mainly of variable declarations. Have you considered the possibility to reuse a test case in another test case? In ReadyAPI exist a test step that is called run test case.I have already used it, but not to read out a file. What I can also recommend to you is to deal with the events and event handlers. With events it is possible to manage code centrally and use it in many or all test cases.5 years agoPlace ReadyAPI QuestionsReadyAPI Questions2.2KViews0likes2CommentsLoadrunner: Illegal reflective access...to constructor javax.swing.SwingUtilities()
Hello, my load test doesnt run with the load test runner, but in the GUI. Running ReadyAPI LoadUITestRunner for [LT_ReservationFlow_BaseLine] directory: C:\Program Files\SmartBear\ReadyAPI-3.1.0\bin\. command: cmd.exe /C loadtestrunner.bat C:\Users\XXXXXXXX\GitRepos\NLST-EVENTFROST-TESTS-ReadyApi -nLT_ReservationFlow_BaseLine -Etst -rC:\Users\XXXXXXXX\Tmp\Testresult -FHTML -j -J Configuring log4j from [C:\Program Files\SmartBear\ReadyAPI-3.1.0\bin\soapui-log4j.xml] 15:54:00,172 INFO [license] ReadyAPI 3.1.0 (build 5047) started - System properties: {OS=Windows 10, User name=XXXXXXXXXX} 15:54:00,379 INFO [DefaultSoapUICore] SoapUI settings were initialized from [C:\Users\XXXXXXXXXX\soapui-settings.xml] 15:54:00,416 INFO [SoapUIExtensionClassLoader] "C:\Program Files\SmartBear\ReadyAPI-3.1.0\bin\ext\postgresql-9.3-1102.jdbc41.jar" has been added to the classpath. 15:54:00,417 INFO [SoapUIExtensionClassLoader] "C:\Program Files\SmartBear\ReadyAPI-3.1.0\bin\ext\sqljdbc42.jar" has been added to the classpath. 15:54:00,418 WARN [SoapUIExtensionClassLoader] The custom library "C:\Program Files\SmartBear\ReadyAPI-3.1.0\bin" does not exist. 15:54:00,472 INFO [DefaultSoapUICore] 2 JDBC drivers have been registered from the directory bin/ext: [org.postgresql.Driver, com.microsoft.sqlserver.jdbc.SQLServerDriver]. 15:54:00,775 WARN [SoapUIProGroovyScriptEngineFactory] Missing scripts folder [C:\Program Files\SmartBear\ReadyAPI-3.0.0\bin\scripts] 15:54:00,778 INFO [DefaultSoapUICore] Adding listeners from [C:\Program Files\SmartBear\ReadyAPI-3.1.0\bin\listeners\demo-listeners.xml] 15:54:00,807 WARN [SoapUIJasperReportManager] The report directory "C:\Program Files\SmartBear\ReadyAPI-3.1.0\bin" does not exist. The default report directory will be used. 15:54:08,686 INFO [PluginManager] 5 plugins loaded in 942 ms 15:54:08,687 INFO [DefaultSoapUICore] All plugins loaded 15:54:08,808 WARN [SoapUIProGroovyScriptEngineFactory] Missing scripts folder [C:\Program Files\SmartBear\ReadyAPI-3.0.0\bin\scripts] 15:54:08,970 INFO [BaseExecutionManager] Initialized base directory to keep executions to C:\Users\XXXXXXXXXXX\.readyapi\loadui\results Configuring log4j from [C:\Program Files\SmartBear\ReadyAPI-3.1.0\bin\soapui-log4j.xml] 15:54:09,389 INFO [license] ReadyAPI 3.1.0 (build 5047) started - System properties: {OS=Windows 10, User name=XXXXXXXXXXX} 15:54:09,401 INFO [DefaultSoapUICore] SoapUI settings were initialized from [C:\Users\XXXXXXXXXX\soapui-settings.xml] 15:54:09,405 INFO [SoapUIExtensionClassLoader] "C:\Program Files\SmartBear\ReadyAPI-3.1.0\bin\ext\postgresql-9.3-1102.jdbc41.jar" has been added to the classpath. 15:54:09,405 INFO [SoapUIExtensionClassLoader] "C:\Program Files\SmartBear\ReadyAPI-3.1.0\bin\ext\sqljdbc42.jar" has been added to the classpath. 15:54:09,406 WARN [SoapUIExtensionClassLoader] The custom library "C:\Program Files\SmartBear\ReadyAPI-3.1.0\bin" does not exist. 15:54:09,462 INFO [DefaultSoapUICore] 2 JDBC drivers have been registered from the directory bin/ext: [org.postgresql.Driver, com.microsoft.sqlserver.jdbc.SQLServerDriver]. 15:54:09,463 INFO [DefaultSoapUICore] Adding listeners from [C:\Program Files\SmartBear\ReadyAPI-3.1.0\bin\listeners\demo-listeners.xml] 15:54:12,223 INFO [PluginManager] 5 plugins loaded in 607 ms 15:54:12,223 INFO [DefaultSoapUICore] All plugins loaded 15:54:12,248 DEBUG [LicenseManagerServiceImpl] Trying to initialize license for ReadyAPI Bundle 15:54:12,249 DEBUG [LicenseManagerServiceImpl] License host for ReadyAPI Bundle: NB102213 15:54:12,270 DEBUG [LicenseManagerServiceImpl] Valid license file found: C:\Users\XXXXXXXXXX\.readyapi\readyapibundle.key, last modified: 2019-09-13T09:50:53.146+0200 Running LoadUI Project Runner... Project: C:\Users\XXXXXXXXXX\GitRepos\NLST-EVENTFROST-TESTS-ReadyApi 15:54:12,908 WARN [CompositeProjects] The file has not been loaded, because it is not specified in the project: C:\Users\XXXXXXXXXX\GitRepos\NLST-EVENTFROST-TESTS-ReadyApi\TS_Rerservation\TC_ReservationFlow4LTBatch.xml 15:54:12,909 WARN [CompositeProjects] The file has not been loaded, because it is not specified in the project: C:\Users\XXXXXXXXXX\GitRepos\NLST-EVENTFROST-TESTS-ReadyApi\TS_Rerservation\TC_ReservationFlowWithDelay4LT.xml 15:54:13,368 INFO [WsdlProject] Loaded project from [file:/C:/Users/XXXXXXXXXX/GitRepos/NLST-EVENTFROST-TESTS-ReadyApi/] 15:54:14,097 WARN [SoapUIProGroovyScriptEngineFactory] Missing scripts folder [C:\Program Files\SmartBear\ReadyAPI-3.0.0\bin\scripts] ----------------------------------------- STARTING LOADUI COMMAND LINE RUNNER ----------------------------------------- ----------------------------------------- RUNNING TEST: LT_ReservationFlow_BaseLine LIMITS: Time: 00:20:00 Targets: N/A Failures: N/A ----------------------------------------- Time: 00:00:00 VUs: 0 TPS: 0 Targets: 0 Failures: 0 WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedConstructor$1 (file:/C:/Program%20Files/SmartBear/ReadyAPI-3.1.0/lib/groovy-all-2.4.17.jar) to constructor javax.swing.SwingUtilities() WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedConstructor$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Time: 00:00:01 VUs: 5 TPS: 32 Targets: 5 Failures: 5 15:59:17,152 INFO [CanvasItemImpl] Generating a summary report for CanvasItem LT_ReservationFlow_BaseLine. ----------------------------------------- TEST EXECUTION COMPLETED FINAL RESULTS: Time: 00:00:01 Targets: 5 Failures: 5 ----------------------------------------- 15:59:23,569 INFO [license] ReadyAPI 3.1.0 shutting down Does anyone know what it is?Solved5 years agoPlace ReadyAPI QuestionsReadyAPI Questions2.4KViews0likes4CommentsAdd password parameter for the loadtestrunner
Hello, I'm using the latest version from RedayAPI (3.0.0) and my project is password protected - the properties are encrypted. When I want to run functional tests in pipeline, I can give the password over the command-line parameter -p but this parameter doesn't exists for the loadtestrunner. This fact is not an error but a missing function. Without this feature, encoding the properties in a project is a major drawback when you want to automate the load test because I must deactivate the passwort protection to run the loadtestrunner. This is a strong security restriction, especially if you want to protect the passwords/token/secrets used in cloud repositories. A lot of services are provided in the cload nowadays and the trend is increasing, besides the reason I ask the reader to vote for the function to introduce the password parameter for the loadtestrunner as well. Thanks in advance for the votes. Greetings, Giovanni1.8KViews2likes2Comments