webentwicklung-frage-antwort-db.com.de

selen 2 Chromtreiber

Daher habe ich alle Dokumente zum Hinzufügen von Chromdriver zu meinem Pfad gelesen und alle verfolgt. Ich bin mit Selenium2, Maven, Eclipse und allen aktuellen Treibern auf einem Mac:

Error:
The path to the chromedriver executable must be set by the webdriver.chrome.driver system property;

Ich habe Chromedriver in meinen Ordner "Applications" gestellt und mein Pfad sieht folgendermaßen aus:

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:

Was vermisse ich? Ich kann überhaupt nicht mit Chrome Driver laufen. Jede Hilfe wäre toll, ich versuche jetzt zufälliges Zeug.

Hier ist meine Pom-Sektion zu Selen:

<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

Ich bin nicht sicher über Maven, aber wie ich die Eigenschaft webdriver.chrome.driver einstelle 

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

Fügen Sie diese Abhängigkeit Ihrem Projekt hinzu:

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

Diese Bibliothek lädt die neueste Version der WebDriver-Binärdatei herunter, die Sie benötigen, und exportiert die richtige Java-Systemvariable (webdriver.chrome.driver, webdriver.gecko.driver, webdriver.opera.driver, phantomjs.binary.path, webdriver.Edge.driver, webdriver.ie.driver). Verwenden Sie dazu einfach einen der folgenden Sätze:

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

Mehr Infos unter https://github.com/bonigarcia/webdrivermanager

31
Boni García

Das Festlegen der webdriver.chrome.driver-Systemeigenschaft über maven kann folgendermaßen erfolgen (und getestetes Arbeiten):

  1. Fügen Sie dem maven-surefire-plugin in Ihrem pom.xml die systemPropertyVariables-Konfiguration hinzu. Dies liegt (normalerweise) daran, dass surefire der Aufrufer für Tests ist und die Systemeigenschaften festgelegt werden.

    <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. Definieren Sie jetzt irgendwo ${webdriver.chrome}. Ein guter Anfang ist ein <properties>-Abschnitt in Ihrem pom.xml

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

Möglicherweise könnte dies durch die Verwendung von <profiles> wie in Simon Martinellis Beispiel verbessert werden.

10
jeedo

Sie können einen Versuch unternehmen, das Treiber-Binär-Downloader-Maven-Plugin zu verwenden, um die Treiber-Binärdateien für Sie herunterzuladen ( 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>

Dadurch werden die Binärdateien heruntergeladen und eine Maven-Eigenschaft festgelegt, die Sie in Ihrer sicheren/ausfallsicheren Konfiguration wie folgt verwenden können:

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

Wenn Sie ein neues Treiberobjekt instanziieren, wird jetzt die Systemeigenschaft festgelegt, die auf den binären Speicherort des Treibers verweist, und es funktioniert einfach.

6
Ardesco

Also im Pom musst du es so einstellen 

                  <dependency>
                  <groupId>org.seleniumhq.Selenium</groupId>
                  <artifactId>Selenium-chrome-driver</artifactId>
                  <version>2.34.0</version>
                  </dependency>

Dies ist ein Java-Code, um den Chrome mit Selenium auszuführen 

        System.setProperty("webdriver.chrome.driver","C:/chromedriver.exe");
        WebDriver myD = new ChromeDriver();

Damit Sie Chrome ausführen können, müssen Sie den Chrome-Treiber hier herunterladen. https://code.google.com/p/chromedriver/downloads/list

Sobald Sie das getan haben, müssen Sie es in Umgebungsvariable setzen. Lesen Sie diese https://code.google.com/p/Selenium/wiki/ChromeDriver

Vielen Dank, 

       Mediha
2
Madi

Versuche dies:

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

Es funktioniert für mich, ohne webdriver.chrome.driver-Eigenschaft festzulegen. Einfach durch Hinzufügen von Chromdriver zu PATH

> echo $PATH
/usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin
>    
> which chromedriver
/usr/local/bin/chromedriver

Wenn Sie Homebrew verwenden, können Sie den Chromedriver zusammen mit dem Hinzufügen von PATH so einfach installieren:

brew install chromedriver

Nützliche Links:

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

http://brewformulas.org/Chromedriver

0
Andrey