Wenn ich nicht TestNG und nur Java Selen verwende, alles gut. Aber wenn ich TestNG mit Java Selenium verwende, erhalte ich diesen Fehler.TestNG Selenium Java - java.lang.IllegalStateException: Der Pfad zur ausführbaren Treiberdatei muss durch die Systemeigenschaft webdriver.chrome.driver festgelegt werden
Ich habe bereits den Pfad zum Treiber ausführbar und der Compiler klagt immer noch. Irgendein Vorschlag? Vielen Dank.
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
{
\t
\t @Test
\t public void login() throws IOException {
\t \t System.setProperty("WebDriver.Chrome.Driver", "C:\\Users\\Desktop\\chromedriver_win32\\chromedriver.exe");
\t \t WebDriver driver = null;
\t \t Properties prop = new Properties();
\t \t FileInputStream file = new FileInputStream("C:\\Users\\workspace\\Selenium\\src\\testSuite\\config.properties");
\t \t prop.load(file);
\t \t
\t \t System.out.println(prop.getProperty("username"));
\t \t
\t \t if(prop.getProperty("browser").equals("chrome")) {
\t \t \t System.out.println("OKOK");
\t \t \t driver = new ChromeDriver();
\t \t \t
\t \t }
\t \t driver.get(prop.getProperty("url"));
\t \t
\t }
}
Dies ist meine Properties-Datei
username = 56987
password = 1234
url = www.google.com
browser = chrome
Ich kann jetzt nicht überprüfen, aber aus der Spitze von meinem Kopf das ist nicht, wie Sie eingestellt der Weg zum Fahrer. Keine Ahnung warum ohne TestNG das funktioniert. Sie müssen eine "ChromeOptions" -Instanz erstellen, den Pfad darauf festlegen und diese Instanz in die Treiberinstanz einfügen. Ich erinnere mich nicht daran, ob dies als Argument des Konstruktors oder durch einen Setter geschehen ist. – SantiBailors