web-dev-qa-db-ja.com

セレン2 chromeドライバー

そのため、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>
19
ducati1212

私はMavenについてはわかりませんが、これはどのようにプロパティwebdriver.chrome.driverを設定しますか

System.setProperty("webdriver.chrome.driver", "C:\\pathto\\my\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
21
nilesh

この依存関係をプロジェクトに追加します。

<dependency>
   <groupId>io.github.bonigarcia</groupId>
   <artifactId>webdrivermanager</artifactId>
    <version>3.7.1</version>
</dependency>

このライブラリは、必要なWebDriverバイナリの最新バージョンをダウンロードし、適切なJavaシステム変数(webdriver.chrome.driverwebdriver.gecko.driverwebdriver.opera.driverphantomjs.binary.pathwebdriver.Edge.driverwebdriver.ie.driver)、それぞれ次の文のいずれかを使用します。

WebDriverManager.chromedriver().setup();
WebDriverManager.firefoxdriver().setup();
WebDriverManager.operadriver().setup();
WebDriverManager.phantomjs().setup();
WebDriverManager.edgedriver().setup();
WebDriverManager.iedriver().setup();

https://github.com/bonigarcia/webdrivermanager の詳細

31
Boni García

Mavenを介した_webdriver.chrome.driver_システムプロパティの設定は、次の方法で実行できます(動作確認済み)。

  1. _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>
    _
  2. ここで_${webdriver.chrome}_をどこかに定義します。良いスタートは、_<properties>_の_pom.xml_セクションです

    _<properties>
        <webdriver.chrome>/home/gede/bin/chromedriver</webdriver.chrome>
    </properties>
    _

Simon Martinelliの example のように、_<profiles>_を使用することで、これを改善できる可能性があります。

10
jeedo

ドライバーバイナリダウンローダー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>

新しいドライバーオブジェクトをインスタンス化すると、ドライバーバイナリの場所を指すシステムプロパティが設定され、機能するようになります。

6
Ardesco

ポンポンでは、このように設定する必要があります

                  <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
2
Madi

これを試して:

System.setProperty("webdriver.chrome.driver","/location to/chromedriver folder");
WebDriver driver = new ChromeDriver();
driver.get("your.app");
0
user1307037
System.setproperty("webdriver.chrome.driver","your file path here with chromedriver.exe");
webDriver driver=new chromeDriver();
driver.get("http://google.com");
0
Mallanna R.B

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

便利なリンク:

https://sites.google.com/a/chromium.org/chromedriver/

http://brewformulas.org/Chromedriver

0
Andrey