使用 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...