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

Test-GEB Groovy Spock中页面对象的切换使用

宋康安
2023-03-14

我正在用Spock、Groovy和Geb编写UI功能测试,实现页面对象模式。在我的事件流中,我从当前页面导航以获得结果,因此,我需要在测试中切换页面对象,但我成功地做到了

下面的测试用例:

    def "Navigate to Second Page"() {
    when: "I navigate to second page"

    redirctButton.click()

    then: "Second Page Url should show"
    browser.getCurrentUrl() == secondpageUrl
}

def "Use method form second page"() {
    when: "Im on second page"
    SecondPage.performSearch("search")

    then: "result should show"
    SecondPage.resultBox == ""
}

共有1个答案

周锐
2023-03-14

您应该为页面对象添加at-checking,然后可以使用at方法来验证您是否在预期的页面上,使browser.getcurrenturl()==secondpageurl过时。at-check的另一个影响是,它更改当前页,并返回用于强类型访问的页对象。如果您不关心强类型访问,您可以在第二个测试中删除expect块,它只是为了让您能够访问类型化的页面对象。


@Stepwise
class PageTest extends GebReportingSpec {

def "Navigate to Second Page"() {
    when: "I navigate to second page"
    redirctButton.click()

    then: "Second Page Url should show"
    at SecondPage
}

def "Use method form second page"() {
    expect:
    def secondPage = at SecondPage

    when: "Im on second page"
    secondPage.performSearch("search")

    then: "result should show"
    secondPage.resultBox == ""
}
}
 类似资料:
  • 我正在评估作为网络回归工具的Telerik测试工作室(http://www.telerik.com/automated-testing-tools),并寻找如何设置和使用页面对象模型环境,就像在Selenium中一样。 http://code.google.com/p/selenium/wiki/PageObjects 他们的文档侧重于录制/回放,这非常脆弱,我的谷歌搜索也没有找到相关链接。

  • MIP Page 最大的工作在于将多个独立的页面融合在一起,让它们拥有像单页应用 (SPA) 那样的切换效果和使用体验,解决“第二跳”的问题。这一部分简单讨论一下它的实现方案。 方案核心主要有以下几点: MIP Page 借助 iframe 实现了页面之间的互相隔离 通过 iframe 和外界的通讯来实现页面之间的通讯和传递数据 为了加载性能考虑,第一个页面维持原状,不放入 iframe 之中。

  • 表页与里页 KAG 的每一层又可以分成两部分,表页 fore 、里页 back 。 所有表页的内容组成了画面上显示的东西,而里页的内容,画面上是看不到的。 里页主要是在使用[trans](画面切换效果)之前,用于预载想要显示的内容的。(转自KAG官方文档汉化版) 如果将吉里吉里/KAG的所有层理解成一叠卡片的话,表页就是卡片当前朝向屏幕的一面。 那么,切换就是把所有的卡片翻面,让表页和里页互换。

  • 本文向大家介绍灵活使用Android中ActionBar和ViewPager切换页面,包括了灵活使用Android中ActionBar和ViewPager切换页面的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android使用ActionBar和ViewPager切换页面,分享给大家供大家参考。具体如下: 运行效果截图如下: 项目布局如下: 具体代码如下: MainActivity.ja

  • 我有一个关于selenium WebDriver中页面对象的问题。我们的站点非常动态,有很多ajax和各种身份验证状态。如何定义每个页面对象,但让我们假设我已经弄清楚了,并定义了代表我们站点的几个页面对象。 你如何处理从一页到另一页的交叉?因此,我得到一个页面对象用于我的主页,一个用于我的帐户页面,一个用于我的结果页面。然后我需要编写一个遍历我所有页面的测试来模拟一个用户执行多个动作。

  • Vue 提供了多种方式支持动画过渡效果。例如在各个过渡阶段应用 CSS 类,提供钩子函数使用 JS 操作 DOM,使用第三方 CSS/JS 动画库等。 如果对 Vue 中内置的 transition 机制还不了解,可以阅读 官方的介绍。 在模板项目中,主要使用了最简单的应用 CSS 类的方式完成动画效果。 具体实现 在模板项目中,页面切换时,会有左右滑动效果。 具体表现为打开新页面时左滑展示,返回