acquia / blt-behat

Acquia BLT plugin providing integration with Behat
GNU General Public License v2.0
0 stars 16 forks source link

Provide an option to skip web driver launching #2

Closed marvil07 closed 4 years ago

marvil07 commented 4 years ago

Problem/Motivation

Currently, the code at \Acquia\BltBehat\Blt\Plugin\Commands\BehatTestCommand::behat() triggers the start and stop of the web driver.

This is great for most cases, since it helps on local running.

I arrived to this place while trying to use the behat testing via lando, using the chrome web driver. On my local configuration, I am using a local lando service, i.e. an extra container, to run the web browser to be used during behat testing for javascript. This means that when the logic at \Acquia\Blt\Robo\Commands\Tests\TestsCommandBase::findChrome() is reached, it is unable to find a chrome browser binary, since it is inside a container and not on the default one that is executing the tests.

Proposed resolution

Option 1 One way to work-around this problem, is to have a configuration option that allows skipping to manage the start and stop of the web driver.

Option 2 Another option, is to add a case on findChrome() to handle lando on blt project, but that is probably too specific.

Option 3 A better solution is probably to refactor the idea in blt itself, to add some interaction point, so this behavior can be changed from a blt plugin; say blt-lando; but that is probably too much for introducing the idea.