vmi / selenese-runner-java

Selenium IDE native format (selenese and side) interpreter.
Other
140 stars 82 forks source link

Selenese runner returning exit code of 1 #296

Closed mgoodnight closed 3 years ago

mgoodnight commented 5 years ago

Context for this is I am load testing my queuing service and this is the transcript being returned by some of the jobs (8 out of 10, roughly). This exit code is not documented (skips from 0 to 2 where you describe the strict exit codes). If I manually feed the same requests/payload to the selenese runner, everything runs just fine and returns an exit code of 0. Can anyone provide any details on this code and any recommendations to avoid it?

[2019-03-11 21:49:19.598 Z] [INFO] Start: Selenese Runner 3.20.0 [2019-03-11 21:49:20.040 Z] [INFO] No capabilities. [2019-03-11 21:49:20.040 Z] [INFO] Remote browser: firefox [2019-03-11 21:49:20.041 Z] [INFO] Remote URL: http://seleniumhub:4444/wd/hub org.openqa.selenium.WebDriverException: connection refused Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53' System info: host: '74874ee50164', ip: '172.17.0.6', os.name: 'Linux', os.arch: 'amd64', os.version: '4.9.75-25.55.amzn1.x86_64', java.version: '1.8.0_191' Driver info: driver.version: unknown remote stacktrace: Command duration or timeout: 60.82 seconds \tat sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) \tat sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) \tat sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) \tat java.lang.reflect.Constructor.newInstance(Constructor.java:423) \tat org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214) \tat org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166) \tat org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$errorHandler$0(JsonWireProtocolResponse.java:54) \tat org.openqa.selenium.remote.HandshakeResponse.lambda$getResponseFunction$0(HandshakeResponse.java:30) \tat org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:126) \tat java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) \tat java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958) \tat java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) \tat java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498) \tat java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) \tat java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) \tat java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152) \tat java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) \tat java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464) \tat org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:128) \tat org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:74) \tat org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136) \tat org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) \tat org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213) \tat org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131) \tat org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144) \tat jp.vmi.selenium.webdriver.RemoteWebDriverFactory.newInstance(RemoteWebDriverFactory.java:66) \tat jp.vmi.selenium.webdriver.WebDriverManager$Builder.build(WebDriverManager.java:83) \tat jp.vmi.selenium.webdriver.WebDriverManager.get(WebDriverManager.java:275) \tat jp.vmi.selenium.selenese.Main.setupRunner(Main.java:153) \tat jp.vmi.selenium.selenese.Main.run(Main.java:94) \tat jp.vmi.selenium.selenese.Main.main(Main.java:292) Caused by: org.openqa.selenium.WebDriverException: connection refused Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53' System info: host: '74874ee50164', ip: '172.17.0.6', os.name: 'Linux', os.arch: 'amd64', os.version: '4.9.75-25.55.amzn1.x86_64', java.version: '1.8.0_191' Driver info: driver.version: unknown remote stacktrace: Build info: version: '3.141.59', revision: 'unknown', time: 'unknown' System info: host: '27e44a65f459', ip: '172.17.0.8', os.name: 'Linux', os.arch: 'amd64', os.version: '4.9.75-25.55.amzn1.x86_64', java.version: '1.8.0_171' Driver info: driver.version: unknown \tat sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) \tat sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) \tat sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) \tat java.lang.reflect.Constructor.newInstance(Constructor.java:423) \tat org.openqa.selenium.remote.W3CHandshakeResponse.lambda$errorHandler$0(W3CHandshakeResponse.java:62) \tat org.openqa.selenium.remote.HandshakeResponse.lambda$getResponseFunction$0(HandshakeResponse.java:30) \tat org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:126) \tat java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) \tat java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958) \tat java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) \tat java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498) \tat java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) \tat java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) \tat java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152) \tat java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) \tat java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464) \tat org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:128) \tat org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:74) \tat org.openqa.selenium.grid.session.remote.RemoteSession$Factory.performHandshake(RemoteSession.java:147) \tat org.openqa.selenium.grid.session.remote.ServicedSession$Factory.apply(ServicedSession.java:161) \tat org.openqa.selenium.remote.server.ActiveSessionFactory.lambda$apply$12(ActiveSessionFactory.java:180) \tat java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) \tat java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:373) \tat java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) \tat java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958) \tat java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) \tat java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498) \tat java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) \tat java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) \tat java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152) \tat java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) \tat java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464) \tat org.openqa.selenium.remote.server.ActiveSessionFactory.apply(ActiveSessionFactory.java:183) \tat org.openqa.selenium.remote.server.NewSessionPipeline.lambda$null$2(NewSessionPipeline.java:66) \tat java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) \tat java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) \tat java.util.Collections$2.tryAdvance(Collections.java:4717) \tat java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) \tat java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498) \tat java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) \tat java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) \tat java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152) \tat java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) \tat java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464) \tat org.openqa.selenium.remote.server.NewSessionPipeline.lambda$createNewSession$3(NewSessionPipeline.java:69) \tat java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) \tat java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) \tat java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) \tat java.util.stream.DistinctOps$1$2.accept(DistinctOps.java:175) \tat java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) \tat java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) \tat java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) \tat java.util.stream.Streams$StreamBuilderImpl.tryAdvance(Streams.java:405) \tat java.util.stream.Streams$ConcatSpliterator.tryAdvance(Streams.java:728) \tat java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) \tat java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498) \tat java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) \tat java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) \tat java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152) \tat java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) \tat java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464) \tat org.openqa.selenium.remote.server.NewSessionPipeline.createNewSession(NewSessionPipeline.java:72) \tat org.openqa.selenium.remote.server.commandhandler.BeginSession.execute(BeginSession.java:65) \tat org.openqa.selenium.remote.server.WebDriverServlet.lambda$handle$0(WebDriverServlet.java:235) \tat java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) \tat java.util.concurrent.FutureTask.run(FutureTask.java:266) \tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) \tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) \tat java.lang.Thread.run(Thread.java:748) [2019-03-11 21:50:21.688 Z] [INFO] Exit code: 1

vmi commented 5 years ago

Thank you for your report.

I have released 3.22.0. In this version, I changed the exit code handling (strict/normal) as follows:

In your case, an exit code of 70 (FATAL) is now returned.

The values ​​64 and 70 are based on the definition of sysexits.h.

vmi commented 3 years ago

Please re-open this issue if your problem is not resolved.