Как я могу получить текущее имя браузера? Я использую Chrome и Firefox с моими тестами функций, идущими под функциями -> chrome, functions -> firefox. Я хочу делать скриншоты при сбое теста, который я могу сгенерировать, он просто сохраняется в моем корневом каталоге. Я хочу, чтобы файл был сохранен в соответствующем браузере. При выполнении
print_r($this->getSession()->getDriver())
Я понял, что у него есть закрытая переменная browserName, но как мне получить к нему доступ?
[browserName:Behat\Mink\Driver\Selenium2Driver:private] => chrome
[desiredCapabilities:Behat\Mink\Driver\Selenium2Driver:private] => Array
(
[browserName] => chrome
[browser] => chrome
[version] => 25
[platform] => ANY
Это то, что сработало для меня.
$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';
}
Вы пытались выполнить
driver.executeScript («return navigator.userAgent;»)
и проанализировать строку агента пользователя, чтобы получить эту информацию?
Это должно помочь вам получить имя браузера, его версию, информацию об ОС и т. Д.,