如何在不更改页面的 Web 应用程序中使用页面对象样式自动化测试



我目前正在使用Ruby、Watir网络驱动程序和Cucumber来创建一个自动化测试框架。我真的很喜欢页面对象样式的代码结构方式,但我的应用程序实际上并不经常更改页面(我正在尝试自动化Sitecore内容编辑器/页面编辑器)。我假设有一种方法可以将页面的大部分分离到自己的类中,然后在该类中定义方法。然而,如果我需要在同一个页面上做很多工作,我该如何使用页面对象gem和cucumber来调用这个类?

到目前为止,我知道如何做到这一点的唯一方法就是这样。

class Sitecore
    include PageObject
    page_url "http://website.com/"
    include PageObject::PageFactory
    # methods for a large portion A
    # methods for a large portion B
    ...
    # methods for a large portion Z
end

然后做一个类似这样的黄瓜测试。

Given(/^I am in the content editor$/) do
    visit Sitecore do |page|
        page.MethodA
        page.MethodB
    end
end
When(/^I navigate to some folder$/) do
        on Sitecore do |page|
            page.MethodC
            page.MethodD
        end
    end
Then(/^I should see something present$/) do
        on Sitecore do |page|
            page.MethodE
        end
    end

这些都使用同一个类,所以很容易。我只是使用访问和关键字。但是,如果我要将其更改为多个类,我如何在不实际更改页面的情况下调用这些类?

你的问题有点令人困惑,你在找这个吗:

Given(/^I am in the content editor$/) do
    page = Sitecore.new
    page.goto(page_url)
end
When(/^I navigate to some folder$/) do
    page.MethodC
    page.MethodD
end
Then(/^I should see something present$/) do
    page.MethodE
end

相关内容

  • 没有找到相关文章

最新更新