我正在寫一個測試框架,報告應該包含測試運行的webdriver版本。當使用硒時,有getEval(「Selenium.version」)方法。但是當我使用webdriver時,我發現無法讀取版本。有誰知道解決方案?如何在Testrun期間獲得WebDriver版本?
2
A
回答
0
可以通過閱讀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;
-1
實際路徑與版本中硒的文件是:
/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");`
感謝您的回答,但它並沒有爲我工作。 4個Versionstrings是「null」... – theBell 2011-12-20 13:47:50
你是什麼版本的呢?文件是否存在?它是什麼樣子的?它適用於我在2.15.0,從一個在groovy編寫的junit測試中調用... – c089 2011-12-20 14:01:24
我也在版本2.15.0上,並使用java與testng。我認爲該文件必須存在,因爲不會拋出IOException ... – theBell 2011-12-20 15:54:12