MDL-69232 behat: Make selenium start more fault tolerant
authorAndrew Nicols <andrew@nicols.co.uk>
Wed, 8 Jul 2020 07:35:34 +0000 (15:35 +0800)
committerAndrew Nicols <andrew@nicols.co.uk>
Fri, 10 Jul 2020 00:40:29 +0000 (08:40 +0800)
commit8eb7f7e366b33e9d6057a27a484131e41080a223
treeabb2f9437edc26a2b86b202910a0299cbf2256af
parentfd7c3c483413963888e45c673354c7266ddd20fb
MDL-69232 behat: Make selenium start more fault tolerant

The session was previously only started once, but has now been moved to
restart between each test. Because of this the `$session->start()` is
now called more frequently which exposes a pre-existing issue whereby
Selenium will periodically fail to start.

When the session was only started at the beginning of the test, and at
occasional other times, it made sense to always stop the test runner
because it signified an issue with obtaining the session at all.

Since the session is restarted more frequently, and now between every
test, it no longer makes sense to do this. The test should only be
_stopped_ if the first attempt to obtain the Session fails. Once a
Session has been retrieved at least once it no longer makes sense to
assume that the failure was a configuration failure, but a connection
failure. Therefore subsequent tests should be attempted.
lib/tests/behat/behat_hooks.php