2012-02-17 3 views
1

У меня есть приложение, которое использует домены, хранящиеся в таблице, для определения определенных аспектов сайта. Если домен не найден в db, генерируется ошибка.Какой порт и домен используют capybara-webkit при работе без головок?

Когда я тестирую с огурцом, я использую домен localhost, и все работает так, как ожидалось. Когда я пытаюсь проверить с capybara-webkit и безголовым (для проверки частей javascript сайта), я получаю ошибку домена, не найденную для localhost.

Может ли кто-нибудь сказать мне, как я могу определить домен и порт, которые используют capybara-webkit и headless, чтобы я мог убедиться, что я могу вставить информацию в таблицы заранее. Или, альтернативно, установите Capybara заранее.

Я пробовал следующее без успеха (хотя все это работает для моих тестов js/headless).

Capybara.app_host = "http://localhost" 
Capybara.javascript_driver = :webkit 

if Capybara.current_driver == :webkit 
    require 'headless' 

    headless = Headless.new 
    headless.start 
end 

ответ

1

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

Capybara.javascript_driver = :webkit 

if Capybara.current_driver == :webkit 
    require 'headless' 

    @headless = Headless.new 
    @headless.start 
end 

Before('@javascript') do 
    @javascript = true 
end 

Capybara.app_host = @javascript.present? ? nil : "http://127.0.0.1" 

Я понимаю, что переменная @javascript является избыточной к требованиям здесь, но я использую ее в другом месте. Я не уверен, почему это работает, но это так!

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

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