Behat + mink + Selenium2 获取当前浏览器名称
Behat + mink + Selenium2 Get Current Browser Name
如何获取当前使用的浏览器名称?我正在使用 Chrome 和 Firefox,我的功能测试在功能 -> chrome、功能 -> 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
你试过执行吗
driver.executeScript("return navigator.userAgent;")
并解析用户代理字符串以获取此信息?
这应该可以帮助您获取浏览器名称、版本、OS 信息等,
这对我有用。
$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';
}
试试这个
/**
* Returns current browser name.
*
* @return string Browser name.
*/
function getBrowserName(): string
{
return $this->getCapabilities()['browserName'];
}
如何获取当前使用的浏览器名称?我正在使用 Chrome 和 Firefox,我的功能测试在功能 -> chrome、功能 -> 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
你试过执行吗 driver.executeScript("return navigator.userAgent;")
并解析用户代理字符串以获取此信息? 这应该可以帮助您获取浏览器名称、版本、OS 信息等,
这对我有用。
$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';
}
试试这个
/**
* Returns current browser name.
*
* @return string Browser name.
*/
function getBrowserName(): string
{
return $this->getCapabilities()['browserName'];
}