3.44 issue with java.net.SocketTimeoutException: Read timed out
test step is failing due to "java.net.SocketTimeoutException: Read timed out", we tried increasing the socket timeout but it is still failing after the default 1 minute time. this project and test step is working fine when using 3.41 readyapi version but same test is failing in 3.44 and the latest 3.45 versions. please let us know what need to be done here as this impacting our regression testsSolved1.4KViews1like2CommentsHow to stop project level variables getting overridden during a load test in READYAPI
Below is a functional test under a READYAPI Project: REST Request (Application Home page)1 - when fired would produce some response, we captured the XSRF-TOKEN and assigned to a project level variable “xsrf-token-from-home-page” REST Request (Login) 2 – Will be fired with the XSRF-TOKEN(xsrf-token-from-home-page) as a Request Header. Would produce some response, we captured the XSRF-TOKEN and assigned to a project level variable “xsrf-token-from-login-page” ….,,, ….,, REST Request (Logout) – Will be fired with XSRF-TOKEN captured from the previous request/response. Problem: When I created a Load Test for the above and ran a test with 2 VU’s (Simultaneous) – I saw the project level variable is getting overridden by both the VU’s at the same time and 1 of the requests for 1 VU is failing and then all the remaining requests are failing to login to the application. In the end we are seeing failures with the load test. Do we have any feature or option to handle this situation?Solved895Views1like2CommentsLoadRunner 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?451Views1like0CommentsReport 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.Solved787Views1like1Comment