How can I get the current browser name being used? I'm using Chrome and Firefox with my feature tests going under features -> chrome, features -> firefox. I want to take screenshots when a test fails. When I generate a screenshot, it just saves in my root dir. I want the file to be saved under the appropriate browser when I do this:
print_r($this->getSession()->getDriver())
I get that it has a private variable of browserName, but how do I access it?
[browserName:Behat\Mink\Driver\Selenium2Driver:private] => chrome
[desiredCapabilities:Behat\Mink\Driver\Selenium2Driver:private] => Array
(
[browserName] => chrome
[browser] => chrome
[version] => 25
[platform] => ANY
This is what worked for me.
$session = $this->getSession();
$driver = $session->getDriver();
$userAgent = $driver->evaluateScript('return navigator.userAgent');
$provider = $driver->evaluateScript('return navigator.vendor');
$browser = null;
if (preg_match('/google/i', $provider)) {
//using chrome
$browser = 'chrome';
} elseif (preg_match('/firefox/i',$userAgent)) {
$browser = 'firefox';
}