我已经使用Excel作为数据源为注册页面创建了数据驱动测试。我需要使用否定测试场景来验证表单中的几个数据字段。
代码必须根据提供的数据对否定测试方案进行验证,以通过或失败测试。
“注册”表单具有三个连续点。
(1。选择选项;“名字”,“姓氏”,“电子邮件”,“确认电子邮件”,“用户名”,“密码”,“确认密码”,然后提交按钮。这会将用户带到下一个继续点。
公司名称,公司电话,公司传真,公司网站,公司电子邮件,CompAddrs,邮政编码等。
完整的注册结果页面:该页面显示注册成功与否的确认过程。
问题:
我创建了验证点,以确认每种负面测试方案中的错误消息。
看来测试一次只拾取一个验证断言,但未通过测试。但是我需要验证excel数据字段中的所有负面测试方案,因为代码会在数据表的单元格之间进行迭代,并在不同的测试方案中提供不同的测试数据。
我已经将每个字段的验证点放置在表单中每个特定字段的执行点附近,这使代码无法一起运行。我认为错误消息仅在单击“提交”按钮时显示。
在这方面,我还将验证点放置在最后一行上。单击第一个提交按钮后,因为我需要单击第一个提交按钮才能出现并捕获错误消息,我认为是放置验证点的合适位置。
-这仅适用于一种测试方案,而在所有其他方案中均未选择验证错误消息。
我需要多达25到35个验证点/方案才能在表单和Excel工作表之间进行迭代。
处理这种情况的最佳方法是什么?
任何帮助将不胜感激。
@Test(dataProvider = "INvalidSignUpData2")
public void validateSignUpErrorMsgTest(String Edition, String FirstName, String Lastname, String Email,String ConfirmEmail, String UserName, String Password, String Confirmpassword) throws Exception {
signuppage = new SignUpPage(driver);
logger.info("SignUpPageTest Test started and running");
signuppage.clickonSignUpLink();
signuppage.selectCRMEdition(Edition);
signuppage.setFirstName(FirstName);
signuppage.setLastName(Lastname);
signuppage.setEmail(Email);
signuppage.setConfirmemail(ConfirmEmail);
signuppage.setUsername(UserName);
signuppage.setpassword(Password);
signuppage.setConfirmPassword(Confirmpassword);
signuppage.clickOnagreementBox();
signuppage.clickOnsubmitButton();
String ActResult=AssertionHelper.validateTextPresentOnElement(driver, "xpath", "//small[contains(.,'Please select one Edition mode')]");
Assert.assertEquals(ActResult, "Please select one Edition mode", "[Error-Actual text does not Match with expected text]");
String ActFNResult=AssertionHelper.validateTextPresentOnElement(driver, "xpath", "//small[contains(.,'Please enter your first name')]");
Assert.assertEquals(ActFNResult, "Please enter your first name", "[Error-Actual text does not Match with expected text]");