如何使用Selenium WebDriver和Java获取浏览器名称?
我有一个测试用例,需要根据浏览器名称即IE或Chrome执行。 在此测试用例中,某些部分将取决于浏览器类型。
如何在执行之间获取浏览器名称? 例如,如果是IE,我需要传递数据。 如果是Chrome浏览器,我需要选择数据。
您可以使用以下代码来了解浏览器名称,版本和操作系统详细信息: –
Capabilities cap = ((RemoteWebDriver) driver).getCapabilities(); String browserName = cap.getBrowserName().toLowerCase(); System.out.println(browserName); String os = cap.getPlatform().toString(); System.out.println(os); String v = cap.getVersion().toString(); System.out.println(v);
您需要导入的包
import org.openqa.selenium.Capabilities; import org.openqa.selenium.remote.RemoteWebDriver;
希望它能帮到你:)
在Python中,您可以像这样访问driver.capabilities
dict
driver.capabilities['browserName']
https://groups.google.com/forum/#!topic/selenium-users/nbSujBSc6q8
您是测试人员,因此您需要编写代码/脚本来明确测试各种浏览器/版本组合及其各种细微差别和细微之处(同时尝试尽可能多地重用逻辑,尽量减少重复等)
WebDriver的本质是你 ,测试人员正在开车 – 而不是浏览器。 不要试图检测东西。
因此,对于IE和Chrome,您有不同的行为,您应该为每个(在不同的@Test
)显式创建一个WebDriver
实例,并根据需要设置所需的数据(同样属性, Capabilities
等)。
通过各种方式在测试之间共享公共查找代码,但是直到您的测试很稳健并且工作正常,您不应该尝试重构它们。