2011-12-20 10 views
2

私はtestframeworkに書いています。レポートには、テストドライバーのwebdriverバージョンが含まれていなければなりません。セレンを使用する場合、getEval( "Selenium.version")メソッドがあります。しかし、Webdriverを使用しているときにバージョンを読み取る方法が見つけられません。誰かが解決策を知っていますか?TestrunでWebDriverのバージョンを取得するにはどうすればよいですか?

答えて

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

答えてくれてありがとう、それは私のために動作しませんでした。 4つのバージョンの文字列は "null"です... – theBell

+0

あなたはどんなバージョンですか?ファイルは存在しますか?それはどのように見えるのですか?私は2.15.0で、groovyで書かれたjunitテストから呼び出されました。 – c089

+0

私はバージョン2.15.0で、testngでjavaを使用しています。 IOExceptionはスローされないので、ファイルが存在しなければならないと思います... – theBell

-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");` 
関連する問題