在Page Class中,操作方法应使用返回类型作为类名还是使用void返回类型是一种好习惯?

我们__技术__
public class HomePage {

    public HomePage clickAboutUs1Link() {
        aboutUs1.click();
        return this;
    }

    public void clickAboutUs1Link() {
        aboutUs1.click();    
    }
}

我将在测试类中调用action方法。那么,在将页面对象模型与Selenium Webdriver一起使用时,使用任何一个相对于另一个是否有优点或缺点?

盖伊

如果您有更多的方法,这个问题将更加清楚。考虑那些课程

public class HomePage {

    public AboutUsPage clickAboutUsLinkAndGoToAboutUsPage() {
        aboutUs1.click();
        return new AboutUsPage();
    }   

    public HomePage typeToField() {
        aboutUs1.click();
        return this;
    }

    public HomePage clickOnChecbox() {
        aboutUs1.click();
        return this;
    }
}

class AboutUsPage {

    public boolean isAboutUsPageDisplayed() {
        return someElement.isDisplayed();
    }
}

现在,您可以在测试中使用方法链接来创建流程

public class TestAboutUsLink {

    boolean isDisplayed =
    new HomePage()
        .typeToField()
        .clickOnChecbox()
        .clickAboutUsLinkAndGoToAboutUsPage()
        .isAboutUsPageDisplayed();

    assertTrue(isDisplayed);
}

如果每个方法都没有返回任何内容

public class TestAboutUsLink {

    HomePage homePage = new HomePage();
    homePage.typeToField();
    homePage.clickOnChecbox();
    homePage.clickAboutUsLinkAndGoToAboutUsPage()

    AboutUsPage aboutUsPage = new AboutUsPage(); 
    boolean isDisplayed = aboutUsPage.isAboutUsPageDisplayed();

    assertTrue(isDisplayed);
}

这是一个主观的问题,但是我发现使用隐式页面对象创建(就测试而言)的测试流程比将其分解成多个部分更为清楚。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在构造类中返回某些东西是一种好习惯吗?使用PHP oop

来自分类Dev

在Python中使用类型作为字典键是否被认为是一种好习惯?

来自分类Dev

对代表一行的类中的每个属性都使用吸气剂是一种好习惯,还是我应该研究另一种方法?

来自分类Dev

创建对调用方法返回的值的未使用引用是一种好习惯吗?

来自分类Dev

在返回的值是作为参数提供的对象的情况下,使用函数的返回值是一种好习惯吗?

来自分类Dev

有没有一种方法可以在不使用page.php?id =链接类型的情况下制作动态网址?

来自分类Dev

在类中使用Optional作为属性是一种好习惯吗?

来自分类Dev

使用适当的数据类型是一种好习惯吗?

来自分类Dev

通过使用方法扩展类是否是一种好习惯?

来自分类Dev

将#define 和 typedef 与数据类型一起使用是一种好习惯吗?

来自分类Dev

在ReactJS中操作DOM是一种好习惯吗?

来自分类Dev

始终在Java构造函数中克隆引用类型是一种好习惯吗?

来自分类Dev

在Racket中对参数进行类型检查是否是一种好习惯

来自分类Dev

使用方法返回值作为参数与在一种方法中设置类变量并将其用作另一种方法的参数

来自分类Dev

在构造函数中使用set方法初始化类的字段是否是一种好习惯?

来自分类Dev

在构造函数中使用set方法初始化类的字段是否是一种好习惯?

来自分类Dev

使用Task.ContinueWith()作为事件“ TaskEnded”的形式是否被认为是一种好习惯?

来自分类Dev

当我将Page <Object>作为返回类型时,如何在Spring Boot中进行测试

来自分类Dev

使用TypeScript从Page对象返回Promise值

来自分类Dev

在Symfony2的实体类中添加额外的方法是一种好习惯吗?

来自分类常见问题

使用Exception防止类被不需要的参数实例化是否是一种好习惯

来自分类Dev

在C#中使用类“枚举对象”是否是一种好习惯?

来自分类Dev

使用WCF简化配置是一种好习惯吗?

来自分类Dev

经常使用instanceof是一种好习惯吗?

来自分类Dev

大量使用本地存储是一种好习惯吗?

来自分类Dev

使用幻数是一种好习惯吗?

来自分类Dev

我需要一种无需返回“返回类型”即可从函数中返回的方法

来自分类Dev

Java返回类型与WebCrawler.visit(Page)不兼容

来自分类Dev

在Java中每个方法都使用大try-catch是一种已知的好习惯吗?

Related 相关文章

  1. 1

    在构造类中返回某些东西是一种好习惯吗?使用PHP oop

  2. 2

    在Python中使用类型作为字典键是否被认为是一种好习惯?

  3. 3

    对代表一行的类中的每个属性都使用吸气剂是一种好习惯,还是我应该研究另一种方法?

  4. 4

    创建对调用方法返回的值的未使用引用是一种好习惯吗?

  5. 5

    在返回的值是作为参数提供的对象的情况下,使用函数的返回值是一种好习惯吗?

  6. 6

    有没有一种方法可以在不使用page.php?id =链接类型的情况下制作动态网址?

  7. 7

    在类中使用Optional作为属性是一种好习惯吗?

  8. 8

    使用适当的数据类型是一种好习惯吗?

  9. 9

    通过使用方法扩展类是否是一种好习惯?

  10. 10

    将#define 和 typedef 与数据类型一起使用是一种好习惯吗?

  11. 11

    在ReactJS中操作DOM是一种好习惯吗?

  12. 12

    始终在Java构造函数中克隆引用类型是一种好习惯吗?

  13. 13

    在Racket中对参数进行类型检查是否是一种好习惯

  14. 14

    使用方法返回值作为参数与在一种方法中设置类变量并将其用作另一种方法的参数

  15. 15

    在构造函数中使用set方法初始化类的字段是否是一种好习惯?

  16. 16

    在构造函数中使用set方法初始化类的字段是否是一种好习惯?

  17. 17

    使用Task.ContinueWith()作为事件“ TaskEnded”的形式是否被认为是一种好习惯?

  18. 18

    当我将Page <Object>作为返回类型时,如何在Spring Boot中进行测试

  19. 19

    使用TypeScript从Page对象返回Promise值

  20. 20

    在Symfony2的实体类中添加额外的方法是一种好习惯吗?

  21. 21

    使用Exception防止类被不需要的参数实例化是否是一种好习惯

  22. 22

    在C#中使用类“枚举对象”是否是一种好习惯?

  23. 23

    使用WCF简化配置是一种好习惯吗?

  24. 24

    经常使用instanceof是一种好习惯吗?

  25. 25

    大量使用本地存储是一种好习惯吗?

  26. 26

    使用幻数是一种好习惯吗?

  27. 27

    我需要一种无需返回“返回类型”即可从函数中返回的方法

  28. 28

    Java返回类型与WebCrawler.visit(Page)不兼容

  29. 29

    在Java中每个方法都使用大try-catch是一种已知的好习惯吗?

热门标签

归档