MavenでChromeDriverを使って簡単な自動テストを作成する必要があります。MavenでChromeでSelenium WebDriverテストケースを実行するにはどうすればよいですか?
のpom.xmlからの抜粋:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.1</version>
</dependency>
テスト・ケース:
:
@BeforeTest
public void StartBrowser_NavURL() {
driver = new ChromeDriver();
driver.manage().window().maximize();
}
@AfterTest
public void CloseBrowser() {
driver.quit();
}
@Test
public void testToCompareDoubles() {
driver.get("http://www.google.com");
}
とコマンドの実行テストを実行した後、私は次の例外を受け取り
mvn -test
ジャva.lang.IllegalStateException:ドライバの実行可能ファイルへのパスは、webdriver.chrome.driverシステムプロパティで設定する必要があります。詳細については、https://github.com/SeleniumHQ/selenium/wiki/ChromeDriverを参照してください。最新バージョンはhttp://chromedriver.storage.googleapis.com/index.html com.google.common.base.Preconditions.checkState(Preconditions.java:199) (org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:109))からダウンロードできます。 org.openqa.seleniumでorg.openqa.selenium.chrome.ChromeDriverService $ Builder.findDefaultExecutable(ChromeDriverService.java:137)でorg.openqa.selenium.chrome.ChromeDriverService.access $ 000(ChromeDriverService.java:32) で .remote.service.DriverService $ Builder.build(DriverService.java:296) at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88) at org.openqa.selenium.chrome.ChromeDriver。( ChromeDriver.java:116) at com.testTask.GoogleTest.StartBrowser_NavURL (GoogleTest.java:26) at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:77) at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:110) ) at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:106) at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189) at org.apache .maven.surefire.booter.ProviderFactory $ ProviderProxy.invoke org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)で(ProviderFactory.java:165) org.apache.maven.surefireで.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.ja VA:75) ... 23のスタックフレーム
を削除し、私は下のリンクを経由づけし議論を読んだ: How to run Selenium WebDriver test cases in Chrome?
をしかし、私は自分のサーバー上で実行可能ファイルをダウンロードすることはできません。だから、私のための選択肢ではありません。 しかし、Mavenはサーバー上で "selenium-chrome-driver-2.53.1.jar"をダウンロードします(これは問題ありません)。
実行可能ファイルの代わりにdowloaded .jarファイルを使用する方法はありますか?
P.S.このプロジェクトでは、IntelliJ Idea Community Editionを使用していますが、私はその専門家ではありません
もう一度:私は実行可能ファイルをダウンロードするには権限がありません。 – Eugene
それはどういう意味ですか?クロムでテストを実行するには、実行可能なクロムドライバが必要です。 –
あなたのアドバイスは動作します:私のテストは "chromedriver.exe"をダウンロードした後に実行されます。しかし、これらすべてのものは、単一のMavenコマンド(例えば、mvn-test)で実行されるはずです。私はMavenがインターネットからファイルをダウンロードできるかどうかはわかりません。だから、私はダウンロードされた外部ファイルの量を最小限に抑える解決策を探しています。さもなければ、私は再交渉するために利害関係者に行くべきです。 – Eugene