Внезапно вываливающийся список

Ну, предположим такую ситуацию: на чекауте предоставляем пользователю все адреса его города, чтобы не путался. Но адреса эти ровно в 00.00 превращаются спрятаны в отдельном списке, который подгружается на страницу только при необходимости.

И чтобы вообще огорчить тестировщиков — список этот появляется под полем адреса только при наборе текста, а Selenium IDE такие мансы очень не любит.

Но ведь тестировщики сами могут кого угодно огорчить.

Итак, у нас есть поле ввода с id=billing_full_address, при наборе текста туда должен подтянуться целый список адресов, а затем в выпадающем списке с адресами надо будет кликнуть по тестовому адресу ‘1 Darling Mills Road, ALBION PARK  NSW  2527‘.

01-09-2014 - 17-32-18

Алгоритм:

  • впишем в этом поле начало адреса, который нужно будет получить в списке всех адресов,
  • эмулируем нажатие клавиш (можно даже передавать нажатие определенных клавиш, есть в сети полная таблица кодов),
  • дожидаемся появления ссылки с нужным адресом,
  • кликнем по ссылке с нужным адресом.
type id=billing_full_address 1 Darling island
keyDown id=billing_full_address w
keyPress id=billing_full_address w
keyUp id=billing_full_address w
waitForElementPresent //a[contains(text(),’1 Darling Mills Road, ALBION PARK  NSW  2527′)]  
click //a[contains(text(),’1 Darling Mills Road, ALBION PARK  NSW  2527′)]  

Делов-то…

24 thoughts on “Внезапно вываливающийся список

  1. Есть ли команда в селениуме которая проверяет страницу на наличие 404 ошибок?

    1. Не встречал такого.

      Разве что использовать assertNotLocation (если происходит явное перенаправление при 404) или assertNotTitle или assertNotText (зависит от приложения).

  2. такой вопрос: по выражению xpath=((//*[@class=’aaa’])//*[@class=’bbb’]) находит 10 элементов. Пытаюсь их посчитать с помощью функции storeXpathCount
    В браузере все нормально находит без ошибок, в IDE не считает их, выводит “0”.
    в чем может быть причина?
    Задача посчитать количество элементов “bbb”

  3. Нашел в чем причина: у меня был открыт Firebug с xpath вкладкой и каком то выражением, в общем после закрытия selenium нормально посчитал, учитывайте если что.

  4. Просто попробовал, с таким же запросом в браузере вместо 30 объектов нашел 10. как то они пересекаются, для экономии нервов закрывать не забывайте, пол дня убил 😉

  5. Я наверное уже надоел но вопрос некуда задать, http://software-testing.ru/ уже 2 день лежит. Как прибавить к переменной число, ну или сложить две переменные?

  6. У меня такая ситуация: пользователь забыл пароль и жмет на соответствующую кнопку, и ему на майл приходит линк. Соответственно на этот линк надо кликнуть и попадаешь на нужную страничку, где можно ввести новый пароль. Ну и дальше вводишь пароль (что тоже может вызывать варианты разных ошибок). Получается, что процесс тестирования нужно прерывать на посылке письма, а дальше все тестировать вручную? Или есть какой-то вариант автоматизации тестирования дальнейших действий?

    1. О, спасибо, а как Вы до письма добирались и до линка в нем?

      1. Сперва открываете 10minutemail и делаете там новый емайл

        потом открываете ваше приложение, и регистрируете юзера с этим емайлом

        затем разлогиниться, клякнуть на кнопку “Забыл пароль”, открыть 10minutemail, открыть письмо.

        Все делается в одном и том же окне браузера.

  7. Правильно я понимаю, Тест ящик автоматически создавал? И потом письмо сам получал и обрабатывал, в смысле, находил там линк и по нему шел?

  8. Тут еще одна проблема появилась: Сайт 10MinuteMail блокирует, если создавать одновременно 2 ящика. Как Вы ее решали, или Вы создавали один ящик для всех тестов? А как тогда тесты находили, где имеено их емайл? Я не нашла там функции для удаления прочитанных. Я подумала сперва, что можно последний брать, но может нужный еще не пришел.

  9. А если ящик еще не исчез, то я попадаюв него снова и там уже лежит старое письмо. Или у Вас всегда было больше чем 10 минут между тестами? У меня получается меньше минуты.

    1. Если ящик еще не исчез, то там должно быть новое письмо.

      По тэгам непрочитанное письмо отличается от уже прочитанного.

      Подтюньте ваш скрипт, он должен сперва искать новое письмо. Если его нет — пауза и перезагрузка страницы, и снова поиск нового письма.

  10. Проблема такаяЖ есть обязательное поле (City), после нажатия на него выпадает список. Селениум все равно выдает ошибку. И не находит указанный город. Помогите, пожалуйста!
    id поля: id=city
    Город можно выбрать любой.

    1. Николь, есть противень! И на нем утку жарят. А иногда пироги. И на противне утка подгорает. Помогите, пожалуйста! Размеры противня – 2х1,2. Утку можно выбрать любую.

  11. Как сделать проверку в IDE вот этого:
    div class=”product list newsec sale-row-element” data-ga=”40;212900.00;1″

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s