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.5KViews1like2CommentsReport 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.Solved802Views1like1Comment