微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Page 对象模型时的可重复方法测试

如何解决使用 Page 对象模型时的可重复方法测试

我创建了一个基本测试来检查是否显示了某些文章,并且我有一个关于页面对象模型的问题。在我的解决方案中,我测试了页面、基本页面、带有元素 ID 的地图页面和带有主要逻辑的方法页面。测试类似于 - 打开站点,导航到文章搜索“ArticleX”,单击它,将其添加到篮子中,编辑篮子。对于这些操作,我在我的测试页面中创建了 5 个测试,但现在想知道是正确的,还是我应该减少它们?他们都有重复的方法,我测试过,例如最后一个测试,称为“编辑篮子”。我执行以下操作:

[Test]  
public void TestEditBasket() {  
        logicPage = new LogicPage();  
        logicPage.Navigateto();
        logicPage.ClickArticles(); 
        logicPage.SearchArticleX();
        logicPage.PressArticleX();   
        logicPage.AddArticleXToBasket(); 
        logicPage.EditBasket(); 

       //this test only checks name,quantity,price when you're editing basket
        Assert.IsTrue(logicPage.ArticleNameInBasket.Text.Contains("ArticleXheading"));  
        Assert.IsTrue(logicPage.ArticleQuantityInBasket.Text.Contains("1"));   
        Assert.IsTrue(logicPage.ArticlePriceInBasket.Text.Contains("$10")); 

Navigateto、ClickArticles、SearchArticleX、PressArticleX、AddArticleXToBasket 已经在之前的测试中测试过了,但是我不能直接进入最后一步 - EditBasket,这就是我在这个测试中使用它们的原因。 其他测试的样子:

[Test1]  
    public void VerifyPageOpened() {  
            logicPage = new LogicPage();  
            logicPage.Navigateto();
             Assert.IsTrue());  
             Assert.IsTrue());

[Test2]  
    public void TestSearchingArticleX() {  
            logicPage = new LogicPage();  
            logicPage.Navigateto();
            logicPage.ClickArticles();
             Assert.IsTrue());  
             Assert.IsTrue());

[Test3]  
    public void TestClickOnArticleX() {  
            logicPage = new LogicPage();  
            logicPage.Navigateto();
            logicPage.ClickArticles();
            logicPage.PressArticleX();   
             Assert.IsTrue());
             Assert.IsTrue());

 [Test4]  
    public void TestAddArticleXInBasket() {  
            logicPage = new LogicPage();  
            logicPage.Navigateto();
            logicPage.ClickArticles();
            logicPage.PressArticleX();  
            logicPage.AddArticleXToBasket();  
             Assert.IsTrue());
             Assert.IsTrue());

我可以删除其他测试,只留下这个。但是会增加大约 10 个断言。有什么建议吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。