web-dev-qa-db-fra.com

Comment travailler avec Selenium-chrome-driver dans Maven sans ChromeDriver.exe

J'ajoute la dépendance et le code ci-dessous pour l'ouverture de Chrome, mais le navigateur ne s'ouvre pas. 

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

Mon code: - 

package example;
import org.openqa.Selenium.WebDriver;`
import org.openqa.Selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
public class DepChrome {

    @Test
    public void testBrowser() {
    WebDriver driver = new ChromeDriver();
    driver.manage().window().maximize();
    }
}
3
Gobi

Vos dépendances vont bien mais vous devez aussi donner le chemin du chrome binaire

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

Téléchargez le binaire de chrome à partir du site Selenium comme suit: - http://chromedriver.storage.googleapis.com/index.html?path=2.21/

Maintenant, fournissez le chemin du binaire à Selenium en tant que: -

System.setProperty("webdriver.chrome.driver", "C:\\pathto\\my\\chromedriver.exe");

Il y a encore une chose à prendre en compte. Si vous utilisez Windows, utilisez la barre oblique inverse \\ et si vous utilisez Mac ou Linux, utilisez la barre oblique directe // pour configurer le chemin.

J'espère que ça vous aidera :)

6
Shubham Jain

Il y a deux façons.

  1. Le moyen le plus simple est de télécharger chromedriver à partir de cet emplacement. 

    Télécharger le pilote Web chrome

    Créez ensuite un dossier source dans votre projet. (Ex: BrowserDrivers) et ajoutez la bibliothèque téléchargée à cela.

    Définissez ensuite le chemin du pilote chrome dans le script d'automatisation à l'aide de la commande setProperty comme suit.

            System.setProperty("webdriver.chrome.driver", "BrowserDrivers/chromedriver.exe"); 
    
  2. Mais il y a un autre chemin. Ceci est plus adapté à la construction maven. Ajoutez les dépendances suivantes dans le fichier POM.xml. 

    Il y a 2 dépendances. Un pour le pilote Chrome. Mais pour utiliser la dépendance de pilote chrome, vous devez ajouter une dépendance de webdrivermanager. C'est une dépendance obligatoire pour le pilote de navigateur. Donc, vous devez toujours ajouter les deux. Pour plus de détails, référez-vous à ce lien Github Webdriver manager link

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

    Et ajoutez également la dépendance du pilote chrome.

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

    Ensuite, dans votre script d'automatisation, utilisez cette ligne au lieu de la commande System.setProperty pour déclarer le pilote Chrome.

    ChromeDriverManager.getInstance().setup();
    

    UPDATE: l'utilisation de ChromeDriverManager est obsolète , utilisez ceci à la place:

    import static io.github.bonigarcia.wdm.DriverManagerType.CHROME;
    import org.openqa.Selenium.WebDriver;
    import org.openqa.Selenium.chrome.ChromeDriver;
    import io.github.bonigarcia.wdm.WebDriverManager;
    
    WebDriverManager.getInstance(CHROME).setup();
    
4
Neyomal

Vérifiez ci-dessous le code - 

package example;
import org.openqa.Selenium.WebDriver;
import org.openqa.Selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
import io.github.bonigarcia.wdm.WebDriverManager;
public class DepChrome  {
    @Test
    public void testBrowser() {
        WebDriver driver;
        WebDriverManager.chromedriver().setup();
        driver = new ChromeDriver();        
        driver.get("https://google.com");
        String title = driver.getTitle();
        System.out.println(title);      
        driver.quit();      
    }
}
1
Suresh Bhandari

Dans Maven, avec l'utilisation de ChromeDriver.exe:

import static io.github.bonigarcia.wdm.DriverManagerType.CHROME;
import org.openqa.Selenium.WebDriver;
import org.openqa.Selenium.chrome.ChromeDriver;
import org.openqa.Selenium.firefox.FirefoxDriver;

import io.github.bonigarcia.wdm.WebDriverManager;

import org.testng.annotations.Test;

public class MavenTest {

    @Test
    public void TestMaven()
    {
    System.setProperty("webdriver.chrome.driver", "D:\\Sumit_Backup\\Automation\\Workspace\\Maven\\src\\Browser\\chromedriver.exe");
    WebDriver driver= new ChromeDriver();
    driver.get("http://testng.org/doc/maven.html");
    driver.manage().window().maximize();
}
}
0
deepak chamoli