2015-10-12 4 views
0

Я пытаюсь выполнить простую реализацию шаблона объекта страницы с использованием capybara и rspec. Я нахожусь в точке, где мне нужно инициализировать новый объект страницы из другого экземпляра объекта объекта страницы. Но после инициализации нового объекта страницы системы жалуется, чтоПередача сеанса Capybara на объект страницы

неопределенного локальные переменной или метод `страница»

Я предполагаю, что я должен пройти как-то сеанс драйвера для нового объекта, но я не знаю, как Вот мой первый класс:

class DashBoardLoginPage 
    include Dashboard 
    include Logging 
    include Locator 
    include Capybara::DSL 

    def initialize 
    super 
    @locator = locators_for :dashboard_login_page_selectors 
    log.info "Dashboard Login page initialized" 
    end 

    #param user is a hash with name and pass keys 
    def login_user user 
    visit '/' 

    fill_in user_name_field, with: user[:name] 
    fill_in user_password_field, with: user[:password] 
    click_button login_button 
    page.save_screenshot "#{Time.now.getutc}_screenshot.png" 

    dashboard_landing_page = DashboardLandingPage.new 
    end 
end 

и мой второй объект:

require_relative "dashboard_base" 

class DashboardLandingPage < DashboardBasePage 

    def initialize 
    super 
    @locator = locators_for :dashboard_login_page_selectors 
    log.info "Dashboard Landing page initialized" 
    end 

    def is_open? 
    page.has_title? "Apps - Fyber Ad Monetization Dashboard" 
    end 
end 

ответ

1

Вам необходимо включить водосвинку :: DSL в DashboardLandingPage

+0

Я в том числе это правда, что 'require_relative "dashboard_base"' линию. Это модуль со всеми включениями, которые мне нужны. –

+0

На самом деле это была проблема. Большое спасибо. Я забыл поместить эту строку в свой модуль :) –

0

Добро пожаловать в stackoverflow!

Возможно, у вас есть доступ к page по Capybara.current_session.

Кроме того, рассмотрели ли вы использование одного из уже доступных драгоценных камней для объектов страницы? Они могли бы упростить многое из того, что вы делаете.

https://github.com/natritmeyer/site_prism https://github.com/andyw8/capybara-page-object

 Смежные вопросы

  • Нет связанных вопросов^_^