繁体   English   中英

硒有效的电子邮件测试用例

[英]Selenium valid Email test case

我已经开始为一个项目编写测试用例,第一页是登录页面。

我已经开始为有效的电子邮件地址验证编写测试用例。

 public void LoginValidEmailProvided(string baseUrl)
    {
        _driver.Navigate().GoToUrl(baseUrl);
        UserIdField.Clear();
        UserIdField.SendKeys("abc.xyz.com");
        PasswordField.Clear();
        PasswordField.SendKeys("");
        LoginButton.Click();
    }

现在我的问题是我们是否需要为每个变体编写不同的功能以进行有效的emaiil地址检查。

喜欢上手动测试测试通常会做

  • some.com

  • @ some.com

  • @一些

  • 一些@

  • some @@@。com

还有很多。

因此,在自动化测试中,我们是否必须针对上述变体编写测试用例。 或仅一种变化就足够了。 因为我正在检查返回消息,并与预期和得到的结果进行比较。 在每种情况下,它都返回无效的凭据 因此,我刚刚检查了页面是否包含消息无效凭据,然后通过了无效电子邮件地址测试用例。

请告知谢谢

更好的方法是有两种方法,一种是检查有效的电子邮件地址,另一种是检查无效的电子邮件地址

两种方法的优点

您可以在文件或数据提供者中分别拥有有效的凭据(对于框架),并且仅将有效的凭据传递给check valid_email方法,将无效的凭据传递给invalid_email方法,这样,如果有任何错误,您可以轻松地找到它(例如:有效凭据引发错误,指出凭据无效)如果您将两个凭据组合在一起,则将很难找到哪个有效和哪个无效

pseudecode

public void correct_email(){

enter username and other details

click submit

Get the success page or page title of homepage to check email validation passed

}

public void wrong_email(){

enter username and other details

click submit

Get the error page and compare it with the actual error message

}

编辑

1.如果您将有效和无效的凭据放在一起,并有一种方法对其进行验证,您如何知道有效的登录凭据是否登录失败,也会引发错误的无效凭据,并且您的测试将通过并且您将没有注意到这个错误

2.此外,如果您使用的是ex:testng之类的框架,那么如果您对测试进行参数化,则会在报告中获得这些数据,因此在报告中还可以清晰地查看通过和失败的数据,例如,使用有效凭据运行的参数和运行的参数使用无效的凭证。如果您使用一种方法来验证vaiid,并且无效的凭证将全部列为一种。

希望这对您有所帮助。如有疑问,请尽快回来

    Do not create a different method you can use data provider for each test !!!

(you can write a rapper that the data provider will look nicer )

    http://testng.org/doc/documentation-main.html

    //This method will provide data to any test method that declares that its Data Provider
    //is named "test1"
    @DataProvider(name = "test1")
    public Object[][] createData1() {
     return new Object[][] {
       { "Cedric", new Integer(36) },
       { "Anne", new Integer(37)},
     };
    }

    //This test method declares that its data should be supplied by the Data Provider
    //named "test1"
    @Test(dataProvider = "test1")
    public void verifyData1(String n1, Integer n2) {
     System.out.println(n1 + " " + n2);
    }  

将打印

塞德里克36安妮37

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM