【问题标题】:Can I use PageObject::PageFactory without cucumber?我可以在没有黄瓜的情况下使用 PageObject::PageFactory 吗?
【发布时间】:2015-08-24 21:09:31
【问题描述】:

我想知道是否可以在没有黄瓜的情况下使用 PageObject::PageFactory。我试过了

World(PageObject::PageFactory)

但是没有黄瓜就没有世界。我找不到其他方式的示例。

我为什么要做这么疯狂的事?我想创建一个可供测试人员下载的 gem,用于我们测试的产品。我喜欢杯子,但我也希望它用于探索性测试。我已经在其余端点上成功地做到了这一点。

我知道我可以在没有 PageFactory 的情况下做到这一点,但是以这种方式使用 PageObject 就像我在作弊一样容易。我想使用这些模式。

visit(NewAccountPage)
on(NewAccountPage).create_account

也许完全有另一种方法?

【问题讨论】:

    标签: watir-webdriver page-object-gem


    【解决方案1】:

    是的,你可以。您需要做两件事:

    1. 在要使用visiton 等方法的对象中包含PageObject::PageFactory。 (这就是 Cucumber 的 World 方法正在做的事情。)
    2. Watir::Browser 对象定义一个@browser 变量。

    这是在 main 中使用PageFactory 的示例:

    require 'watir-webdriver'
    require 'page-object'
    
    # A page object
    class GooglePage
      include PageObject
    
      page_url 'http://www.google.com'
    end
    
    # Including the page factory methods in the main
    include PageObject::PageFactory
    
    # Assign a browser to @browser
    @browser = Watir::Browser.new :chrome
    
    # Using the page factory
    visit(GooglePage)
    
    p on(GooglePage).current_url
    #=> "https://www.google.ca/?gfe_rd=cr&ei=UxfbVdnCAaeD8QeM96CACg&gws_rd=ssl"
    

    【讨论】:

      猜你喜欢
      • 2017-12-31
      • 2019-01-31
      • 2016-08-11
      • 2021-08-10
      • 2021-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多