selenium 2 chrome driver

后端 未结 10 568
情书的邮戳
情书的邮戳 2020-12-05 03:23

So I have read all the docs on adding chromedriver to my path and followed all of them. I am on a Mac with selenium2, maven, eclipse, and all the latest drivers:

<         


        
相关标签:
10条回答
  • 2020-12-05 03:31

    You could have a go at using the driver binary downloader maven plugin to download the driver binaries for you (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>
    

    This will download the binaries and set a maven property that you can use in your surefire/failsafe configuration like this:

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

    When you instantiate a new driver object the system property pointing to the driver binary location will now be set and it will just work.

    0 讨论(0)
  • 2020-12-05 03:32

    Setting the webdriver.chrome.driver system property via maven can be done by the following (and tested working):

    1. Add systemPropertyVariables configuration to the maven-surefire-plugin in your pom.xml. This is (typically) because surefire is the caller for tests and where system properties will be set.

      <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. Now define ${webdriver.chrome} somewhere. A good start is a <properties> section in your pom.xml

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

    Potentially this could be done better via the use of <profiles> like in Simon Martinelli's example

    0 讨论(0)
  • 2020-12-05 03:33

    I am not sure about Maven but this how I set the property webdriver.chrome.driver

    System.setProperty("webdriver.chrome.driver", "C:\\pathto\\my\\chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.get("http://www.google.com");
    
    0 讨论(0)
  • 2020-12-05 03:34

    So in the pom you have to set it like this

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

    This is a java code to run the chrome using selenium

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

    In order for you to run Chrome you need to download the chrome driver from here. https://code.google.com/p/chromedriver/downloads/list

    Once you have done that then you have to set it in environment variable. Read this https://code.google.com/p/selenium/wiki/ChromeDriver

    Thanks,

           Mediha
    
    0 讨论(0)
  • 2020-12-05 03:41
        Pom.xml code and Selenium code below:
    
    
       <groupId>com.HelloWorld</groupId>
       <artifactId>t</artifactId>
       <version>0.0.1-SNAPSHOT</version>
       <packaging>jar</packaging>
    
       <name>t</name>
       <url>http://maven.apache.org</url>
    
       <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    
    
    
    
         <webdriver.chrome>/home/gede/bin/chromedriver</webdriver.chrome>
    
         </properties>
    
         <build>
         <resources>
            <resource>
                <directory>src/main/java/resources</directory>
                <filtering>true</filtering> 
            </resource>
          </resources>
          <plugins>
    
          <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.7.1</version>
           <configuration>
            <systemPropertyVariables>
                <webdriver.chrome.driver>${webdriver.chrome}
           </webdriver.chrome.driver>
            </systemPropertyVariables>
          </configuration>
           </plugin>
    
    
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.20</version>
            <configuration>
              <suiteXmlFiles>
                <suiteXmlFile>testng.xml</suiteXmlFile>
              </suiteXmlFiles>
            </configuration>
            </plugin>
    
          </plugins>
    
    
           </build>
           <dependencies>
    
           <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
          </dependency>
    
          <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-
         chrome-driver -->
         <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-chrome-driver</artifactId>
        <version>3.8.1</version>
        </dependency>
    
    
    
           <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.4.0</version>
          </dependency>  
          <dependency>
         <groupId>org.testng</groupId>
         <artifactId>testng</artifactId>
          <version>6.8</version>
         <scope>test</scope>
         </dependency>
    
         <dependency>   
                <groupId>org.seleniumhq.selenium</groupId>   
                <artifactId>selenium-chrome-driver</artifactId>   
                <version>3.8.1</version>   
            </dependency>   
    
            <dependency>
           <groupId>io.github.bonigarcia</groupId>
           <artifactId>webdrivermanager</artifactId>
          <version>2.1.0</version>
          </dependency>
    
    
    
          <dependency>
          <groupId>com.relevantcodes</groupId>
          <artifactId>extentreports</artifactId>
         <version>2.41.2</version>
         </dependency>
    
    
    
          <dependency>
          <groupId>org.apache.logging.log4j</groupId>
          <artifactId>log4j-api</artifactId>
          <version>2.8.2</version>
          </dependency>
          <dependency>
          <groupId>org.apache.logging.log4j</groupId>
          <artifactId>log4j-core</artifactId>
          <version>2.8.2</version>
          </dependency>
         </dependencies>
    </project>
    
    
     Selenuim Code 
    
    public class App 
    {
    static String currentDir = System.getProperty("user.dir");
    static WebDriver driver;
    
       @BeforeClass
        public static void setupClass() {
            ChromeDriverManager.getInstance().setup();
            driver= new ChromeDriver();
            driver.get("https://www.google.com/");
        }
    
    
    @Test
        public void test() {
    
    
    
    
    
        System.out.println( "Hello World!" );
    
        }
      }
    
    0 讨论(0)
  • 2020-12-05 03:44
    System.setproperty("webdriver.chrome.driver","your file path here with chromedriver.exe");
    webDriver driver=new chromeDriver();
    driver.get("http://google.com");
    
    0 讨论(0)
提交回复
热议问题