Cucumber+Capybara: проблема со сценарием, который перенаправляет браузер за пределами моего приложения

Given I have a rails app
And I'm using cucumber
And I'm using capybara
And I have an action that results in a redirect_to "http://some.other.domain.com/some_path"
When I test this action
Then the in-app portion of the test works fine
But I see this error: No route matches "/some_path" with {:method=>:get} (ActionController::RoutingError)

Таким образом, капибара правильно перенаправляется на "http://some.other.domain.com/some_path", но по некоторым причинам она думает, что должна обработать часть пути URL в моем приложении. ОБРАТИТЕ ВНИМАНИЕ, что у капибары нет проблемы вообще с "http://some.other.domain.com/" - моя тестовая передача, если я перенаправляю к URL без части пути.

Действительно ли это - ошибка?

14
задан joshsz 19 February 2010 в 15:41
поделиться

3 ответа

Какой драйвер вы используете? Драйвер Rack-Test не позволит вам запрашивать данные из других доменов. Если Capybara делает это с помощью Selenium или Culerity, это определенно ошибка. Если вы хотите помочь исправить это, написание неисправной спецификации будет очень приветствуется :)

1
ответ дан 1 December 2019 в 14:21
поделиться

У меня была аналогичная ситуация, когда я интегрировал свое приложение с платформу SSO компании. Я решил это сделать, чтобы на сайте работал Selenium, добавив тег @javascript к сценарию.

0
ответ дан 1 December 2019 в 14:21
поделиться

@javascript в настоящее время является рабочим решением, хотя в разработке также находится механизированный драйвер, который использует стоечный тест до момента, когда вы нажимаете внешний запрос.

Это немного новшество, и я еще не пробовал его, но я намерен изменить свои внешние тесты @javascript на его использование (с тегами @live или @external или подобными) для повышения скорости.

1
ответ дан 1 December 2019 в 14:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: