【问题标题】:How can I get the WebDriver version during Testrun?测试运行期间如何获取 WebDriver 版本?
【发布时间】:2012-01-24 09:17:28
【问题描述】:

我正在编写一个测试框架,其中报告应包含测试运行的 webdriver 版本。使用 selenium 时,有 getEval("Selenium.version") 方法。但是我在使用 webdriver 时找不到阅读版本的方法。有谁知道解决办法吗?

【问题讨论】:

    标签: testing frameworks selenium webdriver


    【解决方案1】:

    可以通过阅读 VERSION.txt 属性文件来实现。这看起来很老套,但这是 WebDriver 开发人员在 SeleniumServer.java 中所做的:

    final Properties p = new Properties();
    p.load(getSeleniumResourceAsStream("/VERSION.txt"));
    String rcVersion = p.getProperty("selenium.rc.version");
    String rcRevision = p.getProperty("selenium.rc.revision");
    String coreVersion = p.getProperty("selenium.core.version");
    String coreRevision = p.getProperty("selenium.core.revision");
    BuildInfo info = new BuildInfo();
    String versionString = String.format("v%s%s, with Core v%s%s. Built from revision %s",
        rcVersion, rcRevision, coreVersion, coreRevision, info.getBuildRevision());
    

    请注意,这需要静态导入:

    import static org.openqa.selenium.browserlaunchers.LauncherUtils.getSeleniumResourceAsStream;
    

    【讨论】:

    • 感谢您的回答,但它对我不起作用。 4 个版本字符串为“null”...
    • 你使用的是什么版本?文件是否存在?它是什么样子的?它在 2.15.0 上适用于我,从用 groovy 编写的 junit 测试调用...
    • 我也在使用 2.15.0 版本,并使用 java 和 testng。我认为该文件必须存在,因为没有抛出 IOException...
    • 我不明白你们。 Selenium .jar 文件中的任何地方都没有 VERSION.txt。您是在谈论源 .jar 还是什么?
    【解决方案2】:

    硒版本文件的实际路径是:

    /META-INF/maven/org.seleniumhq.selenium/selenium-java/pom.properties

    Properties p = new Properties();
    p.load(LauncherUtils.class.getResourceAsStream("/META-INF/maven/org.seleniumhq.selenium/selenium-java/pom.properties"));
    p.getProperty("version");`
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多