2015-12-14 4 views
1

Im ищет хороший способ ожидать определенного текста от «предупреждения», который исчезает через 5 секунд.Огурец/Capybara: ожидающий текст «Alert» (который исчезает)

Это базовый тест входа в систему (им довольно новый для автоматизации). Я использую огурец/capybara и im, используя его с poltergeist для теста без головы (в основном для CI).

Im, используя инструменты hrome dev, чтобы попытаться найти информацию о самом элементе (предупреждение). Это не всплывающее предупреждение, это своего рода предупреждение о постепенном исчезновении в верхней части экрана. Но все хром возвращает класс, к которому он принадлежит (это веб-приложение rails), и текст, содержащийся в предупреждении.

Я не очень хорошо знаком с рельсами, так есть какой-то способ просто искать по тексту? Кажется, это самый простой способ?

Редакция:

Редактирование: По-видимому, они являются оповещениями рельсов, используя: flash, они просто исчезают с помощью jquery.

ответ

1

Предполагая, элемент, который является «предупреждение» имеет класс «боевой готовности», что-то вроде

expect(page).to have_selector('.alert', text: 'The text in the alert') 

должны делать то, что вы хотите. Вы можете просто сделать

expect(page).to have_text('The text in the alert') 

, который будет меньше целевого и просто проверить текст отображается на странице, но не то, что это на самом деле в «боевой готовности»

+0

Это сработало! Я ожидал гораздо больше битвы tbh lol. благодаря! – msmith1114

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