Java 无法实例化类异常TestNG

Java 无法实例化类异常TestNG,java,selenium,testng,Java,Selenium,Testng,当我使用TestNG在Selenium和Java中运行代码时,出现以下错误。在多个博客/网站上,它被提到清理项目,所以我做了project->clean,但它仍然向我抛出这个错误。有人能告诉我这个密码有什么问题吗?谢谢 package firsttestngpackage; //import org.testng.annotations.Test; //import org.openqa.selenium.*; import org.testng.Assert; import org.test

当我使用TestNG在Selenium和Java中运行代码时,出现以下错误。在多个博客/网站上,它被提到清理项目,所以我做了project->clean,但它仍然向我抛出这个错误。有人能告诉我这个密码有什么问题吗?谢谢

package firsttestngpackage;

//import org.testng.annotations.Test;
//import org.openqa.selenium.*;
import org.testng.Assert;
import org.testng.annotations.*;
//import org.testng.asserts.*;
//import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;


public class FirstTestNGFile {

    @BeforeSuite
    public void SetBrowser(){
        System.setProperty("webdriver.chrome.driver", "C:\\chromedriver_win32\\chromedriver.exe");

    }

      public WebDriver driver1 = new ChromeDriver();
      public String baseurl = "http://newtours.demoaut.com/";
      public String ExpTitle = "Welcome: Mercury Tours";



  @Test
  public void CheckPageTitle() {

      driver1.get(baseurl);
      String ActTitle = driver1.getTitle();
      Assert.assertEquals(ActTitle, ExpTitle);
      driver1.quit();

  }
}
异常

 org.testng.TestNGException: 
Cannot instantiate class firsttestngpackage.FirstTestNGFile
    at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:38)
    at org.testng.internal.ClassHelper.createInstance1(ClassHelper.java:387)
    at org.testng.internal.ClassHelper.createInstance(ClassHelper.java:299)
    at org.testng.internal.ClassImpl.getDefaultInstance(ClassImpl.java:110)
    at org.testng.internal.ClassImpl.getInstances(ClassImpl.java:186)
    at org.testng.internal.TestNGClassFinder.<init>(TestNGClassFinder.java:120)
    at org.testng.TestRunner.initMethods(TestRunner.java:409)
    at org.testng.TestRunner.init(TestRunner.java:235)
    at org.testng.TestRunner.init(TestRunner.java:205)
    at org.testng.TestRunner.<init>(TestRunner.java:160)
    at org.testng.remote.RemoteTestNG$1.newTestRunner(RemoteTestNG.java:141)
    at org.testng.remote.RemoteTestNG$DelegatingTestRunnerFactory.newTestRunner(RemoteTestNG.java:271)
    at org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:561)
    at org.testng.SuiteRunner.init(SuiteRunner.java:157)
    at org.testng.SuiteRunner.<init>(SuiteRunner.java:111)
    at org.testng.TestNG.createSuiteRunner(TestNG.java:1299)
    at org.testng.TestNG.createSuiteRunners(TestNG.java:1286)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
    at org.testng.TestNG.run(TestNG.java:1057)
    at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:29)
    ... 21 more
Caused by: java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see http://code.google.com/p/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleapis.com/index.html
    at com.google.common.base.Preconditions.checkState(Preconditions.java:197)
    at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:105)
    at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:89)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:117)
    at firsttestngpackage.FirstTestNGFile.<init>(FirstTestNGFile.java:21)
    ... 26 more
org.testng.TestNGException:
无法实例化类firsttestngpackage.FirstTestNGFile
位于org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:38)
位于org.testng.internal.ClassHelper.createInstance1(ClassHelper.java:387)
位于org.testng.internal.ClassHelper.createInstance(ClassHelper.java:299)
位于org.testng.internal.ClassImpl.getDefaultInstance(ClassImpl.java:110)
位于org.testng.internal.ClassImpl.getInstances(ClassImpl.java:186)
位于org.testng.internal.TestNGClassFinder(TestNGClassFinder.java:120)
位于org.testng.TestRunner.initMethods(TestRunner.java:409)
位于org.testng.TestRunner.init(TestRunner.java:235)
位于org.testng.TestRunner.init(TestRunner.java:205)
位于org.testng.TestRunner.(TestRunner.java:160)
在org.testng.remote.RemoteTestNG$1.newTestRunner(RemoteTestNG.java:141)
位于org.testng.remote.RemoteTestNG$delegatingestrunnerfactory.newTestRunner(RemoteTestNG.java:271)
位于org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:561)
位于org.testng.SuiteRunner.init(SuiteRunner.java:157)
位于org.testng.SuiteRunner(SuiteRunner.java:111)
位于org.testng.testng.createSuiteRunner(testng.java:1299)
位于org.testng.testng.createSuiteRunners(testng.java:1286)
位于org.testng.testng.runSuitesLocally(testng.java:1140)
位于org.testng.testng.run(testng.java:1057)
位于org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
位于org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
位于org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
原因:java.lang.reflect.InvocationTargetException
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源)
位于sun.reflect.delegatingConstructor或AccessorImpl.newInstance(未知源)
位于java.lang.reflect.Constructor.newInstance(未知源)
位于org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:29)
... 还有21个
原因:java.lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver.chrome.driver系统属性设置;有关详细信息,请参阅http://code.google.com/p/selenium/wiki/ChromeDriver. 最新版本可从以下网站下载:http://chromedriver.storage.googleapis.com/index.html
位于com.google.common.base.premissions.checkState(premissions.java:197)
位于org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:105)
位于org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:89)
位于org.openqa.selenium.chrome.ChromeDriver(ChromeDriver.java:117)
在firsttestngpackage.FirstTestNGFile。(FirstTestNGFile.java:21)
... 26多

我已经对上述代码进行了更改,现在它工作正常了

该问题是由驱动程序实例范围引起的,它是在方法中定义的

package firsttestngpackage;

//import org.testng.annotations.Test;
//import org.openqa.selenium.*;
import org.testng.Assert;
import org.testng.annotations.*;
//import org.testng.asserts.*;
//import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;


public class FirstTestNGFile {

    public WebDriver driver1 ;

    @BeforeSuite
    public void SetBrowser(){

        System.setProperty("webdriver.chrome.driver", "/home/vicky/Documents/Jars/chromedriver");

        driver1= new ChromeDriver();

    }

      public String baseurl = "http://newtours.demoaut.com/";
      public String ExpTitle = "Welcome: Mercury Tours";



  @Test
  public void CheckPageTitle() {

      driver1.get(baseurl);
      String ActTitle = driver1.getTitle();
      Assert.assertEquals(ActTitle, ExpTitle);
      driver1.quit();

  }
}