Testng 未调用数据提供程序
我正在使用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 =
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);
}
}