代码之家  ›  专栏  ›  技术社区  ›  Selena

在Selenium 3中获取操作系统信息和Firefox浏览器版本

  •  2
  • Selena  · 技术社区  · 7 年前

    我正在升级到Selenium 3,它破坏了我很久以前编写的一个函数,该函数从 WebDriver

    这用于获取浏览器版本和操作系统名称:

    Capabilities cap = ((RemoteWebDriver) driver).getCapabilities();
    String browserVersion = cap.getVersion();
    String osName = cap.getPlatform().name().toLowerCase();
    

    <dependency>
        <groupId>io.github.bonigarcia</groupId>
        <artifactId>webdrivermanager</artifactId>
        <version>1.7.0</version>
    </dependency>
    

        FirefoxDriverManager.getInstance().setup();
    
        DesiredCapabilities caps = DesiredCapabilities.firefox();
        caps.setCapability("acceptInsecureCerts", true);
    
        WebDriver driver = new FirefoxDriver(caps);
    
        WebDriver.Timeouts timeouts = driver.manage().timeouts();
        timeouts.implicitlyWait(5L, TimeUnit.SECONDS);
        driver.manage().window().maximize();
    
        return driver;
    

    这与我的Selenium 2代码没有太大不同。唯一的区别是使用第三方工具的驱动程序管理器,因为现在使用Firefox需要geckodriver。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Selena    7 年前

    我想出来了:

        Capabilities cap = ((RemoteWebDriver) driver).getCapabilities();
    
        String browserName = cap.getBrowserName();
        String browserVersion = (String)cap.getCapability("browserVersion");
        String osName = Platform.fromString((String)cap.getCapability("platformName")).name().toLowerCase();
    
        return browserName + browserVersion + "-" + osName;