Могу ли я использовать PageObject::PageFactory без огурца?

Мне интересно, можно ли использовать PageObject::PageFactory без огурца. я попробовал это с

World(PageObject::PageFactory)

но нет мира без огурца. Я не могу найти пример другого способа.

Зачем мне делать что-то настолько безумное? Я хочу создать гем, который тестировщики смогут загрузить для использования с продуктом, который мы тестируем. Я люблю печенье, но я также хотел бы, чтобы его использовали для исследовательского тестирования. Я успешно сделал это на остальных конечных точках.

Я знаю, что могу сделать это без PageFactory, но это настолько просто, что использование PageObject таким образом кажется мне жульничеством. Я хочу использовать эти шаблоны.

visit(NewAccountPage)
on(NewAccountPage).create_account

Может есть совсем другой способ?


person Dave McNulla    schedule 24.08.2015    source источник


Ответы (1)


Да, ты можешь. Есть 2 вещи, которые вам нужно сделать:

  1. Включите PageObject::PageFactory в объект, для которого вы хотите использовать методы visit, on и т. д. (Это то, что делает метод World Cucumber.)
  2. Определите переменную @browser для объекта Watir::Browser.

Вот пример использования PageFactory в main:

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"
person Justin Ko    schedule 24.08.2015