2016-10-14 1 views
0

Ich bin neu in Selen und versuchen, https://google.co.in im Chrom-Browser durch Selen zu öffnen (unten ist der Code). Aber ich kann den Chrome-Browser nach dem Ausführen dieses Codes nicht sehen. Könnte mir jemand sagen, was mit diesem Code nicht stimmt?Selen Code in Java öffnet nicht den Browser

Hier ist mein Code.

import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 

public class Test { 

    public static void main(String[] args) { 
     System.setProperty("webdriver.chrome.driver", "E:\\Application\\chrome.exe"); 
     System.out.println("Loading..."); 
     WebDriver driver = new ChromeDriver(); 
     driver.get("http://google.co/in"); 
     String appTitle = driver.getTitle(); 
     System.out.println("Application title is :: "+appTitle); 
     driver.quit(); 
    } 
} 

Und der Ausgang ist ...

Loading... 
+0

Sie sagen, dass Ihr Programm beendet erfolgreich ohne Fehler? Oder hängt es nach dem Laden der Nachricht? – dnsh

+0

Nein, das Programm läuft noch und steckt in der Leitung. Treibertreiber = new ChromeDriver(); ' –

+1

Sie können Chrom-Treiber schreiben.exe stattdessen chrome.exe Nach dem Herunterladen des Chrome-Treibers erhalten Sie den Treiber mit dem Namen chromedriver. Jetzt können Sie .exe zum Namen hinzufügen –

Antwort

0

können Sie verwenden, um eine folgende Bibliothek webdrivermanager

danach mit Sie müssen keinen Treiber für den jeweiligen Browser herunterladen. Der Treiber wird automatisch für Sie heruntergeladen und eingerichtet.

Um WebDriverManager in einem Maven-Projekt zu verwenden, zuerst die folgende Abhängigkeit zu Ihrem pom.xml hinzufügen:

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

Dann können Sie WebDriverManager lassen WebDriver Binärdateien für Ihre Anwendung/Test machen verwalten. Werfen Sie einen Blick auf diese JUnit Beispiel, das Chrome mit Selen WebDriver verwendet:

public class ChromeTest { 

protected WebDriver driver; 

@BeforeClass 
public static void setupClass() { 
    ChromeDriverManager.getInstance().setup(); 
} 

@Before 
public void setupTest() { 
    driver = new ChromeDriver(); 
} 

@After 
public void teardown() { 
    if (driver != null) { 
     driver.quit(); 
    } 
} 

@Test 
public void test() { 
    // Using Selenium WebDriver to carry out automated web testing 
} 

} 

Beachten Sie, dass einfache Hinzufügen ChromeDriverManager.getInstance() setup();. WebDriverManager zaubert für Sie:

Es überprüft die neueste Version des WebDriver Binärdatei

Es lädt die binären WebDriver, wenn es nicht in Ihrem System vorhanden ist

Es exportiert das erforderliche Java-Variable von Selenium WebDriver

Bisher unterstützt WebDriverManager Chrome, Opera, Internet Explorer, Microsoft Edge, PhantomJS oder Marionette wie folgt:

ChromeDriverManager.getInstance().setup(); 
InternetExplorerDriverManager.getInstance().setup(); 
OperaDriverManager.getInstance().setup(); 
EdgeDriverManager.getInstance().setup(); 
PhantomJsDriverManager.getInstance().setup(); 
MarionetteDriverManager.getInstance().setup(); 
0
System.setProperty("webdriver.chrome.driver", "E:\\Application\\chrome.exe"); 

Hier E: \ Anwendung \ chrome.exe ist nicht Ihr Chrome-Treiber.

Download der Chrome-Treiber der Version, die Sie in Ihrer Anwendung benötigen.

Aktuelles Release: ChromeDriver 2,24

Sobald Sie den Chrom-Treiber verfügen, geben Sie den Pfad über die webdriver.chrome.driver Systemeigenschaft (siehe unten Probe)

@Test 
public void testGoogleSearch() { 
    // Optional, if not specified, WebDriver will search your path for chromedriver. 
    System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver"); 

    WebDriver driver = new ChromeDriver(); 
    driver.get("http://www.google.com/xhtml"); 
    Thread.sleep(5000); // Let the user actually see something! 
    WebElement searchBox = driver.findElement(By.name("q")); 
    searchBox.sendKeys("ChromeDriver"); 
    searchBox.submit(); 
    Thread.sleep(5000); // Let the user actually see something! 
    driver.quit(); 
}