无法使用 ChromeDriver 在 Eclipse 中 运行 TestNG 测试用例
Unable to run TestNG test case in Eclipse with ChromeDriver
我已经编写了以下代码以在 chrome 浏览器中打开一个站点并验证其标题。但是当使用 System.setProperty()
设置 ChromeDriver
路径时,它给我语法错误,当我评论该行时,我得到:
java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property..
我的代码:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.Test;
public class FirsttestNGFile {
String BaseURL = "http://newtours.demoaut.com/";
System.setProperty("webdriver.chrome.driver", "E:\Automation Jars\chromedriver_win32\chromedriver.exe"); -- If I comment this line, I get Illegal state Exception for chromedriver path; if not commented , I get syntax error
WebDriver driver = new ChromeDriver();
@Test
public void verifyHomePageTitle() {
driver.get(BaseURL);
String ExpectedTitle = "Welcome: Mercury Tours";
String ActualTitle = driver.getTitle();
Assert.assertEquals(ExpectedTitle, ActualTitle);
driver.quit();
}
}
您不能全局定义 System.setProperty
。
使用下面的代码并尝试:
WebDriver driver;
@Before
public void browser(){
System.setProperty("webdriver.chrome.driver", "D:\Selenium\CP-SAT\Chromedriver\chromedriver.exe");
driver = new ChromeDriver();
}
@Test
public void verifyHomePageTitle() {
String BaseURL = "http://newtours.demoaut.com/";
driver.get(BaseURL);
String ExpectedTitle = "Welcome: Mercury Tours";
String ActualTitle = driver.getTitle();
Assert.assertEquals(ExpectedTitle, ActualTitle);
}
@Test
public void a() {
driver.get("https://www.google.co.in/?gfe_rd=cr&ei=6PDbV-qTAZHT8gecr4qQBA");
}
@After
public void close(){
driver.quit();
}
}
如果您使用 Junit
,则使用 @Before
或者如果您使用 TestNG
,则 @BeforeTest
。
回复我进一步查询。
快乐学习。 :-)
您应该考虑使用 https://github.com/bonigarcia/webdrivermanager,它将为您完成工作:
ChromeDriverManager.getInstance().setup();
更新 chrome 环境变量路径中的驱动程序路径,然后尝试在您的脚本中使用以下代码
@BeforeClass
public void setup() {
WebDriver driver = new ChromeDriver();
}
我已经编写了以下代码以在 chrome 浏览器中打开一个站点并验证其标题。但是当使用 System.setProperty()
设置 ChromeDriver
路径时,它给我语法错误,当我评论该行时,我得到:
java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property..
我的代码:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.Test;
public class FirsttestNGFile {
String BaseURL = "http://newtours.demoaut.com/";
System.setProperty("webdriver.chrome.driver", "E:\Automation Jars\chromedriver_win32\chromedriver.exe"); -- If I comment this line, I get Illegal state Exception for chromedriver path; if not commented , I get syntax error
WebDriver driver = new ChromeDriver();
@Test
public void verifyHomePageTitle() {
driver.get(BaseURL);
String ExpectedTitle = "Welcome: Mercury Tours";
String ActualTitle = driver.getTitle();
Assert.assertEquals(ExpectedTitle, ActualTitle);
driver.quit();
}
}
您不能全局定义 System.setProperty
。
使用下面的代码并尝试:
WebDriver driver;
@Before
public void browser(){
System.setProperty("webdriver.chrome.driver", "D:\Selenium\CP-SAT\Chromedriver\chromedriver.exe");
driver = new ChromeDriver();
}
@Test
public void verifyHomePageTitle() {
String BaseURL = "http://newtours.demoaut.com/";
driver.get(BaseURL);
String ExpectedTitle = "Welcome: Mercury Tours";
String ActualTitle = driver.getTitle();
Assert.assertEquals(ExpectedTitle, ActualTitle);
}
@Test
public void a() {
driver.get("https://www.google.co.in/?gfe_rd=cr&ei=6PDbV-qTAZHT8gecr4qQBA");
}
@After
public void close(){
driver.quit();
}
}
如果您使用 Junit
,则使用 @Before
或者如果您使用 TestNG
,则 @BeforeTest
。
回复我进一步查询。 快乐学习。 :-)
您应该考虑使用 https://github.com/bonigarcia/webdrivermanager,它将为您完成工作:
ChromeDriverManager.getInstance().setup();
更新 chrome 环境变量路径中的驱动程序路径,然后尝试在您的脚本中使用以下代码
@BeforeClass
public void setup() {
WebDriver driver = new ChromeDriver();
}