如果我不使用TestNG而只使用普通的Java Selenium,那一切都很好。 但是,如果我将TestNG与Java Selenium一起使用,我会收到此错误。
java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleapis.com/index.html
我已经将驱动程序的路径设置为可执行,编译器仍然抱怨。有什么建议吗?谢谢。
package testSuite;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.Driver;
import java.util.Properties;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
//import org.junit.Test;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class testNG
{
@Test
public void login() throws IOException {
System.setProperty("WebDriver.Chrome.Driver", "C:\\Users\\Desktop\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = null;
Properties prop = new Properties();
FileInputStream file = new FileInputStream("C:\\Users\\workspace\\Selenium\\src\\testSuite\\config.properties");
prop.load(file);
System.out.println(prop.getProperty("username"));
if(prop.getProperty("browser").equals("chrome")) {
System.out.println("OKOK");
driver = new ChromeDriver();
}
driver.get(prop.getProperty("url"));
}
}
这是我的属性文件
username = 56987
password = 1234
url = www.google.com
browser = chrome
答案 0 :(得分:2)
我发现了这个问题。 只是一个小小的错误。
应为小写webdriver.chrome.driver
System.setProperty("webdriver.chrome.driver", "C:\\Users\\Desktop\\chromedriver_win32\\chromedriver.exe");
而不是
System.setProperty("WebDriver.Chrome.Driver", "C:\\Users\\Desktop\\chromedriver_win32\\chromedriver.exe");
小心或大写需要小心。感谢。
答案 1 :(得分:1)
尽量不要对路径进行硬编码。
您可以直接使用 System.getProperty(“user.dir”)转到您的工作目录。
是的,小写使用 webdriver.chrome.driver 。
System.setProperty("webdriver.chrome.driver",
System.getProperty("user.dir")+ "/chromedriver.exe");
答案 2 :(得分:1)
如果从命令行运行testng脚本,则可能需要添加以下开关 -
-Dwebdriver.chrome.driver=<path to chromedriver.exe>\chromedriver.exe