A RetryingComJSEnv allows to automatically retry if a call to the underlying
ComJSRunner fails.
While it protects the JVM side from observing state that differs inbetween
runs that have been retried, it assumes that the executed JavaScript code
does not have side-effects other than the ones visible through the channel
(e.g. writing to a file). It is the users responsibility to ensure this
property.
No retrying is performed for synchronous, or normal asynchronous runs.
Although RetryingComJSEnv is agnostic of the underlying JS env, and is
therefore not tied to PhantomJS, it is most often used to compensate for
flakiness effects of PhantomJS.
A RetryingComJSEnv allows to automatically retry if a call to the underlying ComJSRunner fails.
While it protects the JVM side from observing state that differs inbetween runs that have been retried, it assumes that the executed JavaScript code does not have side-effects other than the ones visible through the channel (e.g. writing to a file). It is the users responsibility to ensure this property.
No retrying is performed for synchronous, or normal asynchronous runs.
Although
RetryingComJSEnv
is agnostic of the underlying JS env, and is therefore not tied to PhantomJS, it is most often used to compensate for flakiness effects of PhantomJS.