そのため、Chromedriverをパスに追加するためのすべてのドキュメントを読んで、すべてに従っています。私はSelenium2、maven、Eclipse、およびすべての最新ドライバーを搭載したMacを使用しています。
Error:
The path to the chromedriver executable must be set by the webdriver.chrome.driver system property;
アプリケーションフォルダーにchromedriverを配置すると、パスは次のようになります。
echo $PATH
/Users/tcerrato/Selenium/BS_Sel_Project/auto_helper/test_scripts:/usr/local/Apache-maven-2.2.1//bin:/Users/Oracle/oracle/product/10.2.0/db_1/bin:/opt/local/bin:/opt/local/sbin:/Applications:
私は何が欠けていますか? chromeドライバで実行することはできません。現在、ランダムなものを試してみてください。
Seleniumに関する私のpomセクションは次のとおりです。
<dependency>
<groupId>org.seleniumhq.Selenium</groupId>
<artifactId>Selenium</artifactId>
<version>2.0rc2</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.seleniumhq.Selenium</groupId>
<artifactId>Selenium-chrome-driver</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.Selenium</groupId>
<artifactId>Selenium-firefox-driver</artifactId>
<version>2.6.0</version>
</dependency>
私はMavenについてはわかりませんが、これはどのようにプロパティwebdriver.chrome.driverを設定しますか
System.setProperty("webdriver.chrome.driver", "C:\\pathto\\my\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
この依存関係をプロジェクトに追加します。
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>3.7.1</version>
</dependency>
このライブラリは、必要なWebDriverバイナリの最新バージョンをダウンロードし、適切なJavaシステム変数(webdriver.chrome.driver
、webdriver.gecko.driver
、webdriver.opera.driver
、phantomjs.binary.path
、webdriver.Edge.driver
、webdriver.ie.driver
)、それぞれ次の文のいずれかを使用します。
WebDriverManager.chromedriver().setup();
WebDriverManager.firefoxdriver().setup();
WebDriverManager.operadriver().setup();
WebDriverManager.phantomjs().setup();
WebDriverManager.edgedriver().setup();
WebDriverManager.iedriver().setup();
Mavenを介した_webdriver.chrome.driver
_システムプロパティの設定は、次の方法で実行できます(動作確認済み)。
_maven-surefire-plugin
_の_pom.xml
_にsystemPropertyVariables
構成を追加します。これは(通常)surefire
がテストの呼び出し元であり、システムプロパティが設定されるためです。
_<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.7.1</version>
<configuration>
<systemPropertyVariables>
<webdriver.chrome.driver>${webdriver.chrome}</webdriver.chrome.driver>
</systemPropertyVariables>
</configuration>
</plugin>
_
ここで_${webdriver.chrome}
_をどこかに定義します。良いスタートは、_<properties>
_の_pom.xml
_セクションです
_<properties>
<webdriver.chrome>/home/gede/bin/chromedriver</webdriver.chrome>
</properties>
_
Simon Martinelliの example のように、_<profiles>
_を使用することで、これを改善できる可能性があります。
ドライバーバイナリダウンローダーmavenプラグインを使用して、ドライバーバイナリをダウンロードできます( https://github.com/Ardesco/Selenium-standalone-server-plugin ):
<plugin>
<groupId>com.lazerycode.Selenium</groupId>
<artifactId>driver-binary-downloader-maven-plugin</artifactId>
<version>1.0.7</version>
<configuration>
<rootStandaloneServerDirectory>${project.basedir}/src/test/resources/Selenium_standalone_binaries</rootStandaloneServerDirectory>
<downloadedZipFileDirectory>${project.basedir}/src/test/resources/Selenium_standalone_zips</downloadedZipFileDirectory>
</configuration>
<executions>
<execution>
<goals>
<goal>Selenium</goal>
</goals>
</execution>
</executions>
</plugin>
これにより、バイナリがダウンロードされ、次のようなsurefire/failsafe構成で使用できるmavenプロパティが設定されます。
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.7.2</version>
<configuration>
<systemProperties>
<!--Set properties passed in by the driver binary downloader-->
<phantomjs.binary.path>${phantomjs.binary.path}</phantomjs.binary.path>
<webdriver.chrome.driver>${webdriver.chrome.driver}</webdriver.chrome.driver>
<webdriver.ie.driver>${webdriver.ie.driver}</webdriver.ie.driver>
<webdriver.opera.driver>${webdriver.opera.driver}</webdriver.opera.driver>
</systemProperties>
<includes>
<include>**/*WebDriver.Java</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
新しいドライバーオブジェクトをインスタンス化すると、ドライバーバイナリの場所を指すシステムプロパティが設定され、機能するようになります。
ポンポンでは、このように設定する必要があります
<dependency>
<groupId>org.seleniumhq.Selenium</groupId>
<artifactId>Selenium-chrome-driver</artifactId>
<version>2.34.0</version>
</dependency>
これはJava Seleniumを使用してchromeを実行するコードです
System.setProperty("webdriver.chrome.driver","C:/chromedriver.exe");
WebDriver myD = new ChromeDriver();
Chromeを実行するには、ここからchromeドライバをダウンロードする必要があります。 https://code.google.com/p/chromedriver/downloads/list
それが完了したら、環境変数で設定する必要があります。これを読む https://code.google.com/p/Selenium/wiki/ChromeDriver
ありがとう、
Mediha
これを試して:
System.setProperty("webdriver.chrome.driver","/location to/chromedriver folder");
WebDriver driver = new ChromeDriver();
driver.get("your.app");
System.setproperty("webdriver.chrome.driver","your file path here with chromedriver.exe");
webDriver driver=new chromeDriver();
driver.get("http://google.com");
webdriver.chrome.driver
プロパティを設定しなくても機能します。 chromedriverをPATHに追加するだけで
> echo $PATH
/usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin
>
> which chromedriver
/usr/local/bin/chromedriver
Homebrewを使用する場合、PATHへの追加とともにchromedriverのインストールは次のように簡単に実行できます。
brew install chromedriver
便利なリンク: