2016-05-03 82 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();  
}} 

錯誤java.lang.IllegalStateException:路徑向駕駛員 可執行文件必須由webdriver.chrome.driver系統屬性進行設置;有關更多信息,請參閱 https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver。最新 版本可從 http://chromedriver.storage.googleapis.com/index.html無法打開chrome瀏覽器,代碼如下

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

使用最新版本的Chrome驅動程序僅.... – user6284292

回答

0

下載請設置鉻驅動器,而不是chromedriver的目錄

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

改變了路徑,但還是同樣的錯誤出現。 (System.setProperty(「webdriver.chrome.driver」,「C:\\ Users \\ test \\ Desktop \\ Downloads \\ chromedriver.exe」);) – user6284292

+0

@ user6284292您可以將driver.exe複製到system32文件夾,在評論您設置駕駛員位置的路線後重新運行測試? –

-1

再次嘗試&從上述路徑中的文件複製到的完整路徑桌面上的任何文件夾和它的工作。問題是存在.exe的文件夾或路徑。

因此,如果您遇到此類問題,請複製chromedriver.exe文件並將其放在其他文件夾中,然後重試。

謝謝!

0

嘗試在設置系統屬性後初始化驅動程序。請在下面找到示例代碼。

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); 
    }  
} 

希望這有助於

0

應該建立鉻驅動程序路徑在系統屬性.. 公共類鉻合金 { webdriver的驅動程序;

@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); 
}  

}

相關問題