2014-10-20 127 views
1

我正在使用selenium webdriver,通過Java & TestNG。無法在Selenium Web驅動程序(Java)中啓動Chrome

我只是嘗試了下面的代碼:(啓動Chrome瀏覽器),

package testng1package; 

import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.testng.AssertJUnit; 
import org.testng.annotations.BeforeTest; 
import org.testng.annotations.Test; 
import org.testng.annotations.AfterTest; 


public class TestNGFile { 

    //using firefox 
    //public WebDriver driver = new FirefoxDriver() ; 

    //using Chrome 
    System.setProperty("webdriver.chrome.driver", "C://Users//Roey//Desktop//chromedriver.exe"); 
    public WebDriver driver = new ChromeDriver(); 
    String baseurl = "http://newtours.demoaut.com/" ; 

    @BeforeTest 
    public void StartBrowser() { 

    } 

    @Test 
    public void Test1() { 

     driver.get(baseurl); 
     String expectedTitle = "Welcome: Mercury Tours" ; 
     String actualTitle = driver.getTitle(); 
     AssertJUnit.assertEquals(actualTitle , expectedTitle) ; 
     driver.quit();   
    } 

    @AfterTest 
    public void terminateBrowser() { 
     driver.quit();    
    } 

} 

測試包含在system.setproperty錯誤,並說:

在這多個標記線
- 令牌(一個或多個)中的語法錯誤,錯放 構建體
- 上的令牌中的語法錯誤,刪除這些 令牌

如果我正在將此代碼行剪切並粘貼到@test中 - 沒關係,但我想從@BeforeTest或開頭(現在就是它)使用它。

+1

您需要向我們展示更多代碼。同時發佈整個錯誤堆棧。 – SiKing 2014-10-20 17:14:58

回答

1

編輯:

好吧,所以先在一個方法中設置您的驅動程序。
其次,在Windows上你的chromedriver的路徑將需要反斜槓,而不是向前削減。

This Works。

import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.testng.AssertJUnit; 
import org.testng.annotations.Test; 

public class TestNGFile { 
    @Test 
    public void Test1() { 
     System.setProperty("webdriver.chrome.driver", "C:\\Users\\Roey\\Desktop\\chromedriver.exe"); 
     WebDriver chromeDriver = new ChromeDriver(); 
     String baseurl = "http://newtours.demoaut.com/" ; 
     chromeDriver.get(baseurl); 
     String expectedTitle = "Welcome: Mercury Tours" ; 
     String actualTitle = chromeDriver.getTitle(); 
     AssertJUnit.assertEquals(actualTitle , expectedTitle) ; 
     chromeDriver.quit(); 
    } 
} 
+0

tnx,其工作方式, 但有辦法將鉻驅動程序在 'BeforeTest' - 並在@Test期間使用它? – 2014-10-22 07:00:42

+0

你真的需要在@BeforeTest中做任何事嗎?只需在類級別聲明WebDriver chromeDriver即可。 – user2272115 2014-10-22 16:38:10

0
System.setProperty("webdriver.chrome.driver", "C:/Users/dell/Downloads/chromedriver.exe"); 
    WebDriver d = new ChromeDriver(); 
    d.get("Any URL"); 

注意,在chromedriver.exe單斜槓的位置將do.Hope這個工作對你罰款。

0

我正在使用Eclipse。我將chromedriver.exe放置在項目工作區中,因此Selenium知道在哪裏尋找,因此您不需要完整的路徑在System.setProperty。然後我將它設置在@Before

@Before 
public void setUp() { 
    System.setProperty("webdriver.chrome.driver", "chromedriver.exe"); 
    driver = new ChromeDriver(); 
} 
相關問題