2014-10-20 138 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(); 
} 
相关问题