当前位置: 首页 > 知识库问答 >
问题:

对于page对象类中的方法,最好使用public void或public[页面名称]?

秦凯定
2023-03-14

我遵循页面对象模型。假设我有一个扩展BasePage的NewPage类,在该类中我有这样的方法:

public NewPage clickRed(){
    driver.findElement(element1).click();
    return this;
}

public NewPage clickBlue(){
    driver.findElement(element2).click();
    return this;
}

public OtherPage goToNextPage(){
    this.clickRed();
    this.clickBlue();
    super.clickNextButton();
    return new OtherPage(driver);
}

}

这样可以吗,或者对于clickRed()和clickBlue()方法,将这些方法作为public void是更好的做法吗?像这样:

public void clickRed(){
    driver.findElement(element1).click();
}

共有1个答案

徐丰茂
2023-03-14

这取决于你想要实现什么。

我喜欢流畅的风格。所以,登录页面对象中的每个方法都返回“this”。

loginPage.enteringUsername("uname")
         .enteringPassword("pwd")
         .submit();

如果你不喜欢,你可以让它们“无效”

但为什么要使用驱动程序查找元素呢。每次在页面对象中查找删除?

检查此设计。http://www.testautomationguru.com/arquillian-graphene-page-fragments/

 类似资料:
  • 有没有办法像这样通过名称或数字返回页面对象: 我用get方法创建我的UI元素(小部件、输入)的类,它可以返回任何类的对象 小部件的类别 按钮对象的类 主页类别 我的测试 结果是我们可以通过使用我们的类来组合任何对象 问题:我的xpath是动态的,应该包含名称 如何使用如下构造返回具有特定名称的新对象: 有什么想法吗?

  • 我已经为登录页面编写了页面对象类来测试UI外观 增加在单个类中定义的lot方法的编写。有没有办法减少页面对象类中声明的方法数? 例子:

  • 问题内容: 在Python中,我有以下示例类: 如您所见,我有一个简单的“私有”属性“ _attr”和一个用于访问它的属性。有很多代码可以声明一个简单的私有属性,我认为这样声明所有属性并不符合“ KISS”哲学。 因此,如果我不需要特定的getter / setter / deleter,为什么不将我的所有属性都声明为公共属性呢? 我的回答是:因为封装原理(OOP)另有说明! 什么是最好的方法 ?

  • 问题内容: 有什么解决方案来获取对象的函数名称? -没有有关或的信息。有可能得到其中之一吗? 问题答案: 获取对象的构造函数,然后检查其name属性。 返回“ myClass”。

  • 我们已经讨论了类与对象的功能部分,现在我们来看一下它的数据部分。事实上,它们只是与类和对象的名称空间 绑定 的普通变量,即这些名称只在这些类与对象的前提下有效。 有两种类型的 域 ——类的变量和对象的变量,它们根据是类还是对象 拥有 这个变量而区分。 类的变量 由一个类的所有对象(实例)共享使用。只有一个类变量的拷贝,所以当某个对象对类的变量做了改动的时候,这个改动会反映到所有其他的实例上。 对象

  • 主要内容:示例JSP page 的实质是 java.lang.Object 对象,相当于 Java 中的 this 关键字。page 对象是指当前的 JSP 页面本身,在实际开发中并不常用。 page 对象的常用方法如下: page 对象的常用方法 方  法 说  明 class getClass() 返回当前页面所在类 int hashCode() 返回当前页面的 hash 代码 String toStrin