2016-05-03 5 views
-1
public class Chrome 
{ 

WebDriver driver = new ChromeDriver(); 

@Before 
public void setup() 
{ 
System.setProperty("webdriver.chrome.driver","C:\\Users\\test\\Desktop\\Downloads"); 
driver.get("http://google.com"); 
driver.manage().window().maximize(); 
driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS); 
}  

@Test 
public void test() 

{ 
driver.findElement(By.xpath(".//*[@id='menu-item-21']/a")).click();  
}} 

Fehler java.lang.IllegalStateException: Der Pfad zum Treiber ausführbar ist vom webdriver.chrome.driver Systemeigenschaft festgelegt werden; für weitere Informationen, siehe https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. Die neueste Version kann von http://chromedriver.storage.googleapis.com/index.htmlUnable Chrome-Browser zu öffnen, Code wie unten

at com.google.common.base.Preconditions.checkState(Preconditions.java:199) 
    at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:109) 
    at org.openqa.selenium.chrome.ChromeDriverService.access$0(ChromeDriverService.java:1) 
    at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:137) 
    at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:296) 
    at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88) 
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:116) 
    at com.example.tests.Chrome.<init>(Chrome.java:15) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:217) 
    at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:266) 
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) 
    at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:263) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) 
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 
+0

die neueste Version von Chrom-Treiber verwenden nur .... – user6284292

Antwort

0

Bitte stellen Sie den vollständigen Pfad von Chrom-Treiber statt des Verzeichnisses von chromedriver

System.setProperty("webdriver.chrome.driver","C:\\Users\\test\\Desktop\\Downloads\\chromedriver.exe"); 
+0

den Pfad geändert, aber immer noch derselbe Fehler erscheint. (System.setProperty ("webdriver.chrome.driver", "C: \\ Benutzer \\ test \\ Desktop \ Downloads \\ chromedriver.exe");) – user6284292

+0

@ user6284292 können Sie driver.exe in System32-Ordner kopieren und Führen Sie den Test nach dem Kommentieren der Zeile, in der Sie den Treiberstandort festgelegt haben, erneut aus? –

-1

wieder & die Datei von oben Pfad kopiert Versuchen heruntergeladen werden jeder Ordner auf dem Desktop und es hat funktioniert. Das Problem ist der Ordner oder Pfad, in dem die EXE vorhanden war.

SO wenn Sie mit dieser Art von Problem konfrontiert sind, dann bitte kopieren Sie die Chromedriver.exe Fle und legen Sie es in einem anderen Ordner und versuchen Sie es erneut.

Danke!

0

Versuchen Sie, den Treiber nach dem Festlegen der Systemeigenschaft zu initialisieren. Bitte finden Sie den Beispielcode unten.

public class Chrome 
{ 
    WebDriver driver; 

    @BeforeSuite 
    public void setup() 
    { 
     System.setProperty("webdriver.chrome.driver","C:\\Users\\test\\Desktop\\Downloads"); 
     // Initializing the chromdriver here 
     driver = new ChromeDriver(); 
     driver.get("http://google.com"); 
     driver.manage().window().maximize(); 
     driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS); 
    }  
} 

hoffe, das hilft

0

Chrom Treiberpfad in Systemeigenschaft festgelegt Sollte .. public class Chromes { WebDriver Treiber;

@BeforeSuite 
public void setup() 
{ 
    System.setProperty("webdriver.chrome.driver","C:\\Users\\test\\Desktop\\Downloads\\chromedriver.exe"); 
    // Initializing the chromdriver here 
    driver = new ChromeDriver(); 
    driver.get("http://google.com"); 
    driver.manage().window().maximize(); 
    driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS); 
}  

}