通过命令行的TestNG错误:无法实例化类testCases.LoginPage

时间:2018-07-05 11:02:56

标签: selenium testng

从github上的位置克隆项目:

C:\Automation\CC_Regression_Automation\CC_Regression

Folder structre

尝试使用Eclipse运行testng.xml时一切正常。

获取尝试使用命令行运行代码时无法实例化class testCases.LoginPage

**Loginpage.java**

 package testCases;

 import java.io.IOException;
 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.chrome.ChromeDriver;
 import com.relevantcodes.extentreports.ExtentTest;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.BeforeTest;
 import org.testng.annotations.Test;
 import utils.DriverUtil;
 import utils.Loggers;
 import utils.ReportGenerator;
 import utils.WebPageUtils;

public class LoginPage extends Base{

    /*Members of the current Test Class. The number varies from script
    to script depending on the variables and verifications required*/
    public WebDriver driver;
    private String currentSitePath;
    private String testCaseName=getClass().getName().substring(10); 
    ExtentTest parentTest =ReortGenerator.initializeParentTest(getClass().getName().substring(10),"Testing Login Page");

    //Function to Navigate to a particular URL inside CC
    public void navigateToURL(WebDriver driver){
        siteURL="";
        this.driver.navigate().to(baseurl+siteURL);
        }


    @Test // Main Test Flow for the Script
    public void executeScript() throws IOException{

        System.out.println("*******************");
        System.out.println("launching chrome browser");

        //Test Case Author assignment in Reports 
        ReportGenerator.assignAuthor(parentTest,"Garima");

        //Setting up Browser Instance
        this.driver=driverIns();


        //Navigating to the required page in CC
        navigateToURL(this.driver);


        Sleep(5000);

        String strPageTitle = this.driver.getTitle();
        System.out.println(strPageTitle);
        //Start Logs
        Loggers.startCurrentTestCaseExecution(this.driver);

        try{
        ReportGenerator.verifyNavigation(this.driver, "Control Center", parentTest,testCaseName,"Yes");

Base.java的代码片段

//Function to instantiate the WebDriver instance based on the Browser 
 selected for Windows
 public WebDriver driverInsWindows(){
        isExtensionEnabled();
        setbaseURL();   

    try {
        switch(getBrowser()+isExtensionEnabled.toString()){
            case "Chromefalse":
                System.setProperty("webdriver.chrome.driver", "./Win/Drivers/chromedriver.exe");

                driver=new ChromeDriver();
                driver.get(baseurl);
                break;

            case "Chrometrue":

                System.setProperty("webdriver.chrome.driver", "./Win/Drivers/chromedriver.exe");
                driver=invokeChromeBrowserwithExtension();

                driver.get("https://www.google.com");
                break;

            case "Internet Explorer":
                System.setProperty("webdriver.internetexplorer.driver", 
 "./Win/Drivers/internetexplorerdriver.exe");
                driver=new InternetExplorerDriver();
                driver.get(baseurl);
            break;
            case "Firefox":
                driver=new FirefoxDriver();
                driver.get(baseurl);
                break;
                default:
                    //new PascalBaseClass();
        }
    } catch (IOException e) {
   }

通过cmd执行以下命令:-

java -cp C:\Automation\CC_Regression_Automation\CC_Regression\bin;C:\Automation\CC_Regression_Automation\CC_Regression\lib\* org.testng.TestNG testng.xml

enter image description here

  

Blockquote

1 个答案:

答案 0 :(得分:0)

您的问题可能是此行:

ExtentTest parentTest =ReortGenerator.initializeParentTest(getClass().getName().substring(10),"Testing Login Page")

由于我看到了对 ReportGenerator

的其他引用

我怀疑您键入了所有代码,并且它是一个复制/粘贴,所以我不确定为什么您的IDE不会对其进行标记,或者以某种方式存在另一个名为 ReortGenerator

的对象>