Тест Capybara Cucumber не может найти xpath, когда браузер свернут - PullRequest
1 голос
/ 19 августа 2011

Я запускаю сценарий, в котором поля формы автоматически заполняются недопустимыми значениями, при которых некоторые javascript-скрипты отображают предупреждения под каждым неправильно заполненным полем, когда я размываю. Тест проходит, когда браузер находится в фокусе. Он находит xpath с «ожидаемым предупреждением», которое я передаю. Но если я сверну или просто нажму на другое приложение, оно не сможет найти xpath.

Я использую Firefox 3.6 (собираюсь обновить его в ближайшее время), и для поиска xpath я использую "page.should have_xpath (xpath)"

Кто-нибудь знает, как это можно решить? Для меня очень важно запустить его с свернутым браузером.

Редактировать и альтернативное решение:
Я предполагаю, что проблема синхронизации возникает в таких событиях, как размытие, после чего происходит поиск определенного xpath в свернутом браузере, присущем самому драйверу. Поэтому я решил запустить тесты в Virtual Frame Buffer, используя xvfb в Linux, и, похоже, он работает очень хорошо. Я планирую применить это к Хадсону / Дженкинсу при каждом изменении.

1 Ответ

1 голос
/ 20 августа 2011

Может ли это быть проблема времени?Возможно, если браузер не является передним и максимально развернутым, рендеринг не происходит достаточно быстро, чтобы контент присутствовал, когда Capybara проверяет его.

Также: как вы запускаете событие размытия?

...