如果使用forceCache()
方法且沒有任何緩存,WebDriverManager會從聯機存儲庫下載最新版本。
不幸的是,有一個bug版本1.6.0,使得這種方法(forceCache()
)無用(它不能正常工作)。幸運的是,在撰寫本文時剛剛發佈的1.6.1版已經修復了這個問題。
例如,下面的測試案例:
public class ChromeTest {
private WebDriver driver;
@BeforeClass
public static void setupClass() {
ChromeDriverManager.getInstance().forceCache().setup();
}
@Before
public void setupTest() {
driver = new ChromeDriver();
}
@After
public void teardown() {
if (driver != null) {
driver.quit();
}
}
@Test
public void test() {
// test code here
}
}
...第一時間(且無任何chromedriver緩存),運行後會下載最新版本chromedriver的。請參閱日誌:
[2017-03-08 17:27:27:574] [main] INFO BrowserManager - Reading https://chromedriver.storage.googleapis.com/ to seek [chromedriver]
[2017-03-08 17:27:29:728] [main] INFO BrowserManager - Latest version of [chromedriver] is 2.27
[2017-03-08 17:27:29:730] [main] INFO Downloader - Downloading https://chromedriver.storage.googleapis.com/2.27/chromedriver_linux64.zip to /home/boni/.m2/repository/webdriver/chromedriver/linux64/2.27/chromedriver_linux64.zip
[2017-03-08 17:27:30:354] [main] INFO BrowserManager - Exporting webdriver.chrome.driver as /home/boni/.m2/repository/webdriver/chromedriver/linux64/2.27/chromedriver
Starting ChromeDriver 2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320) on port 3907
Only local connections are allowed.
Mar 08, 2017 5:27:31 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
...運行相同的測試,第二次的時候,那麼緩存的版本將被用於:
[2017-03-08 17:27:37:124] [main] INFO BrowserManager - Found chromedriver in cache: /home/boni/.m2/repository/webdriver/chromedriver/linux64/2.27/chromedriver
[2017-03-08 17:27:37:125] [main] INFO BrowserManager - Exporting webdriver.chrome.driver as /home/boni/.m2/repository/webdriver/chromedriver/linux64/2.27/chromedriver
Starting ChromeDriver 2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320) on port 31776
Only local connections are allowed.
Mar 08, 2017 5:27:38 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
謝謝您的回答,並感謝寫這個庫,它一直一個巨大的幫助,確保我們的ui測試自動化儘可能便攜。 – mmyers
另外@BoniGarcia你碰巧知道什麼時候公衆Nexus回購將會有1.6.1?目前只有1.6.0可用。 – mmyers
它已經在[Maven Central]上可用(http://search.maven.org/#artifactdetails%7Cio.github.bonigarcia%7Cwebdrivermanager%7C1.6.1%7Cjar)。 –