java无法在testng中实例化类问题
我在运行TestNG XML时遇到一个问题,它给了我一个错误“无法实例化类测试。ZonesTestCases”,请检查下面的XML和“ZonesTestCases”以及打开浏览器和URL路径的测试库
testngxml
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Idialogue Project">
<test name="Login and Zone Test Cases">
<parameter name="browserType" value="chrome" />
<parameter name="appURL"
value="https://41.206.136.84/IDialogueTest/login" />
<classes>
<class name="Tests.ZonesTestCases" />
</classes>
</test>
</suite>
分区测试用例。爪哇
package Tests;
import java.io.IOException;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import Pages.HomePagePOM;
import Pages.LoginPOM;
import Pages.ZonePOM;
import Utilities.ExcelReader;
public class ZonesTestCases extends TestBase
{
HomePagePOM HPPOM;
ZonePOM ZonePOM;
LoginPOM Login;
public String ZoneUpdate = "";
public String ZoneDelete = "";
public String ZoneTypeEdit = "";
public String ZoneExist="";
private By ZoneUpdateBy = By.xpath("//tr/td[contains(text(), '"+ZoneUpdate+"')]/..//*[contains(text(), 'edit')]");
public WebElement ZoneUpdatebtn = driver.findElement(ZoneUpdateBy);
private By ZoneDeleteBy = By.xpath("//tr/td[contains(text(), '"+ZoneDelete+"')]/..//*[contains(text(), 'edit')]");
public WebElement ZoneDeletebtn = driver.findElement(ZoneDeleteBy);
private By ZoneTypeby = By.xpath("//span[contains(text(), '"+ZoneTypeEdit+"')]");
public WebElement ZoneTypeList = driver.findElement(ZoneTypeby);
private By ZoneExistby = By.xpath("//td[contains(text(), '"+ZoneExist+"')]");
public WebElement ZoneExistlbl = driver.findElement(ZoneExistby);
@DataProvider(name="Zone")
public Object[][] userRegisterData() throws IOException
{
ExcelReader ER = new ExcelReader();
return ER.getExcelData();
}
@BeforeTest
public void LoginFunZone() throws InterruptedException
{
Login = new LoginPOM(driver);
Login.Login();
}
@Test(dataProvider="Zone")
public void AddNewZone(String ZoneName , String ZoneType , String Operation)
{
if (Operation =="Add")
{
HPPOM.ManageContent.click();
HPPOM.Zones.click();
ZonePOM.AddZonebtn.click();
ZonePOM.ZoneNametxt.sendKeys(ZoneName);
ZonePOM.ZoneTypeDDL.click();
ZoneTypeEdit = ZoneType;
ZoneTypeList.click();
ZonePOM.Savebtn.click();
}
}
// @Test(dataProvider="Zone")
// public void EditZone(String ZoneName , String ZoneType , String Operation)
// {
// if(ZoneName !="Delete" && Operation != "Add" )
// {
// ZoneUpdate = ZoneName;
// }
// ZoneUpdatebtn.click();
// ZonePOM.ZoneNametxt.sendKeys(ZoneName);
// ZonePOM.ZoneTypeDDL.click();
// ZoneTypeEdit = ZoneType;
// ZoneTypeList.click();
// ZonePOM.Savebtn.click();
//
// ZoneExist = ZoneName;
//
// if(driver.findElements(By.xpath("//td[contains(text(), '"+ZoneExist+"')]")).size() != 0)
// {
// System.out.println("Zone is Edited Successfully");
// }
//
//
//
// }
//
// @Test(dataProvider="Zone")
// public void DeleteZone(String ZoneName , String ZoneType , String Operation)
// {
// if(ZoneName =="Delete")
// {
// ZoneDelete = Operation;
// }
// ZoneDeletebtn.click();
// ZonePOM.Confirmbtn.click();
//
// ZoneExist = ZoneName;
//
// if(driver.findElements(By.xpath("//td[contains(text(), '"+ZoneExist+"')]")).size() == 0)
// {
// System.out.println("Zone is Deleted Successfully");
// }
// }
//
@AfterTest
public void LogoutFun() throws InterruptedException
{
//create three variables 1- UserName 2-Password 3-AgentName and make it readable from excel sheet
Login = new LoginPOM(driver);
Login.Logout();
}
}
测试基地。爪哇
public class TestBase
{
public static WebDriver driver;
@BeforeSuite
@Parameters ({"browserType" , "appURL"})
public void StartDriver(@Optional ("chrome") String BrowserType , @Optional ("https://41.206.136.84/IDialogueTest/login") String URL)
{
switch (BrowserType)
{
case "chrome":
System.out.println("Launching Chrome browser..");
System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir")+"/Adds/chromedriver.exe");
driver = new ChromeDriver();
break;
case "firefox":
System.out.println("Launching Firefox browser..");
driver = new FirefoxDriver();
break;
}
driver.manage().window().maximize();
driver.navigate().to(URL);
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
}
我不知道如何解决这个问题有什么建议吗
错误
[RemoteTestNG] detected TestNG version 6.14.2
org.testng.TestNGException:
Cannot instantiate class Tests.ZonesTestCases
at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:30)
at org.testng.internal.ClassHelper.createInstance1(ClassHelper.java:423)
at org.testng.internal.ClassHelper.createInstance(ClassHelper.java:336)
at org.testng.internal.ClassImpl.getDefaultInstance(ClassImpl.java:125)
at org.testng.internal.ClassImpl.getInstances(ClassImpl.java:190)
at org.testng.TestClass.getInstances(TestClass.java:95)
at org.testng.TestClass.initTestClassesAndInstances(TestClass.java:81)
at org.testng.TestClass.init(TestClass.java:73)
at org.testng.TestClass.<init>(TestClass.java:38)
at org.testng.TestRunner.initMethods(TestRunner.java:389)
at org.testng.TestRunner.init(TestRunner.java:271)
at org.testng.TestRunner.init(TestRunner.java:241)
at org.testng.TestRunner.<init>(TestRunner.java:192)
at org.testng.remote.support.RemoteTestNG6_12$1.newTestRunner(RemoteTestNG6_12.java:33)
at org.testng.remote.support.RemoteTestNG6_12$DelegatingTestRunnerFactory.newTestRunner(RemoteTestNG6_12.java:66)
at org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:713)
at org.testng.SuiteRunner.init(SuiteRunner.java:260)
at org.testng.SuiteRunner.<init>(SuiteRunner.java:198)
at org.testng.TestNG.createSuiteRunner(TestNG.java:1295)
at org.testng.TestNG.createSuiteRunners(TestNG.java:1273)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1128)
at org.testng.TestNG.runSuites(TestNG.java:1049)
at org.testng.TestNG.run(TestNG.java:1017)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
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:24)
... 25 more
Caused by: java.lang.NullPointerException
at Tests.ZonesTestCases.<init>(ZonesTestCases.java:31)
... 30 more
# 1 楼答案
大多数情况下,这是基于IDE配置的。请检查特定于浏览器的项目配置设置。错误的原因基本上是TESNNG xml文件无法找到测试。分区用例类