【发布时间】:2012-01-24 09:17:28
【问题描述】:
我正在编写一个测试框架,其中报告应包含测试运行的 webdriver 版本。使用 selenium 时,有 getEval("Selenium.version") 方法。但是我在使用 webdriver 时找不到阅读版本的方法。有谁知道解决办法吗?
【问题讨论】:
标签: testing frameworks selenium webdriver
我正在编写一个测试框架,其中报告应包含测试运行的 webdriver 版本。使用 selenium 时,有 getEval("Selenium.version") 方法。但是我在使用 webdriver 时找不到阅读版本的方法。有谁知道解决办法吗?
【问题讨论】:
标签: testing frameworks selenium webdriver
可以通过阅读 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;
【讨论】:
硒版本文件的实际路径是:
/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");`
【讨论】: