核心代码
8.1在testdatas包内新建一个LoginDatas类
把@DataProvider内容剪切到这个类中,实现测试数据和案例类代码分离,LoginCase类的@Test注解修改
@Test(dataProviderClass = LoginDatas.class,dataProvider = "Login_Success_Datas")
8.2添加失败案例
通过已实现的框架添加登录失败案例代码,试运行看代码是否能正常运行且返回断言正确,testng案例管理功能的体现。
@Test(dataProviderClass = LoginDatas.class,dataProvider = "login_Fail_Datas",description = "登录失败场景,用户名或密码错误")
public void login_Fail(String loginName, String loginPwd,String ErrorMessage) {
LoginPage loginPage = new LoginPage();
loginPage.input_loginName(loginName);
loginPage.input_loginPwd(loginPwd);
loginPage.click_loginBtn();
//断言
String actualValue = loginPage.getCenterTips();
String expectedValue = ErrorMessage;
Assert.assertEquals(actualValue, expectedValue);
}
8.3LoginPage类添加元素定位和方法
失败案例需要的错误提示元素在LoginPage类中添加
By loginCenterTipsBy = By.className("layui-layer-content");
public String getCenterTips() {
return waitElementVisible(loginCenterTipsBy).getText();
}
8.4失败数据源在LoginDatas类中添加
@DataProvider
public Object[][] login_Fail_Datas() {
Object[][] datas = { { "错误用户名", "123", "此账号没有经过授权,请联系管理员!" }, { "正确用户名", "错误密码", "帐号或密码错误!" }};
return datas;
}