Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Testng 未调用数据提供程序_Testng_Testng Dataprovider - Fatal编程技术网

Testng 未调用数据提供程序

Testng 未调用数据提供程序,testng,testng-dataprovider,Testng,Testng Dataprovider,我正在使用TestNG。我已设置数据提供程序,控件将跳过数据提供程序。以下是我遵循的步骤 包“testCase”,类“Login_ATC01”,静态方法“Login_FR()” 此类已导入包含类CommonModules和Login的包 方法fn_SignUp()位于包“automation”中的类“Login”内 包装自动化 public class Login { @Test public static void fn_SignUp() { String sUserName =

我正在使用TestNG。我已设置数据提供程序,控件将跳过数据提供程序。以下是我遵循的步骤

  • 包“testCase”,类“Login_ATC01”,静态方法“Login_FR()”

  • 此类已导入包含类CommonModules和Login的包

  • 方法fn_SignUp()位于包“automation”中的类“Login”内
  • 包装自动化

    public class Login {
    
    @Test
    public static void fn_SignUp()
    {
        String sUserName = "";
        String sPassword = "";
        //Authentication();
        fn_mainLogin(sUserName,sPassword);
    }
    
    @Test(dataProvider="Authentication")
    public static void fn_mainLogin(String sUserName, String sPassword)
    {
    
        if(Login_Objects.txtbx_Email().isDisplayed())
        {
                Login_Objects.txtbx_Email().sendKeys(sUserName);           
                Login_Objects.txtbx_Password().sendKeys(sPassword);              
                Login_Objects.txtbx_Password().submit();
        }
    }
    
    @DataProvider(name="Authentication")     
    public static Object[][] Authenticate()  throws Exception
    {
        // Setting up the Test Data Excel file
        ExcelUtils.setExcelFile("/Users/abc/workspace/Test_Auto/src/testData/TestData.xlsx","Sheet1");
        ..
        ..
        Object[][] testObjArray = ExcelUtils.getTableArray("/Users/abc/workspace/Test_Auto/src/testData/TestData.xlsx","Sheet1",iTestCaseRow);
        return (testObjArray);
    }
    }
    

    类Login具有数据提供程序“Authentication”,应该在方法fn_mainLogin上调用@Test。当从fn_注册调用fn_mainLogin时,不会调用数据提供程序“身份验证”。调试时,控件不会传输到dataProvider,用户名和密码字段为空。

    @Test
    方法不应是静态的。你能试着消除测试方法上的静电干扰并告诉我发生了什么吗?谢谢你提供的信息!那么您的意思是我应该创建对象来访问fn_mainLogin()和fn_SignUp()?我是TestNG新手,阅读文章并观看视频,他们只是将类作为1个测试用例直接运行。所以,任何帮助都是非常感谢的。我会尝试与构造器,并返回给你。不需要构造器。只需从
    @Test
    方法中删除
    静态
    。我认为您也应该阅读文档:我使用dataProvider创建了一个示例测试用例,并将@test作为静态测试,但它们都可以工作。我会阅读文件,并尝试进一步调查。多谢
    @Test
    方法不应是静态的。你能试着消除测试方法上的静电干扰并告诉我发生了什么吗?谢谢你提供的信息!那么您的意思是我应该创建对象来访问fn_mainLogin()和fn_SignUp()?我是TestNG新手,阅读文章并观看视频,他们只是将类作为1个测试用例直接运行。所以,任何帮助都是非常感谢的。我会尝试与构造器,并返回给你。不需要构造器。只需从
    @Test
    方法中删除
    静态
    。我认为您也应该阅读文档:我使用dataProvider创建了一个示例测试用例,并将@test作为静态测试,但它们都可以工作。我会阅读文件,并尝试进一步调查。多谢!!
    public class Login {
    
    @Test
    public static void fn_SignUp()
    {
        String sUserName = "";
        String sPassword = "";
        //Authentication();
        fn_mainLogin(sUserName,sPassword);
    }
    
    @Test(dataProvider="Authentication")
    public static void fn_mainLogin(String sUserName, String sPassword)
    {
    
        if(Login_Objects.txtbx_Email().isDisplayed())
        {
                Login_Objects.txtbx_Email().sendKeys(sUserName);           
                Login_Objects.txtbx_Password().sendKeys(sPassword);              
                Login_Objects.txtbx_Password().submit();
        }
    }
    
    @DataProvider(name="Authentication")     
    public static Object[][] Authenticate()  throws Exception
    {
        // Setting up the Test Data Excel file
        ExcelUtils.setExcelFile("/Users/abc/workspace/Test_Auto/src/testData/TestData.xlsx","Sheet1");
        ..
        ..
        Object[][] testObjArray = ExcelUtils.getTableArray("/Users/abc/workspace/Test_Auto/src/testData/TestData.xlsx","Sheet1",iTestCaseRow);
        return (testObjArray);
    }
    }