Home > Элегантные решения > Внезапно вываливающийся список

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

Ну, предположим такую ситуацию: на чекауте предоставляем пользователю все адреса его города, чтобы не путался. Но адреса эти ровно в 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′)]  

Делов-то…

  1. Irina
    12 September 2014 at 02:40

    Raspunsul perfect la intrebarea data. Un multumesc mare si pufos. : )

  2. Рома
    18 November 2014 at 09:27

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

    • 18 November 2014 at 13:01

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

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

  3. Рома
    20 November 2014 at 14:50

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

  4. Рома
    20 November 2014 at 15:31

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

  5. Рома
    20 November 2014 at 15:35

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

  6. Рома
    21 November 2014 at 11:48

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

  7. Рома
    21 November 2014 at 16:31

    да, спасибо. Разобрался.

  8. Лена
    27 November 2014 at 12:58

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

    • 27 November 2014 at 17:01

      Необязательно.

      Мы для этого использовали http://10minutemail.com/10MinuteMail/

    • Лена
      27 November 2014 at 18:39

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

      • 27 November 2014 at 19:17

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

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

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

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

  9. Лена
    27 November 2014 at 18:42

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

  10. Лена
    28 November 2014 at 09:45

    Спасибо большое, поняла.

  11. Лена
    28 November 2014 at 18:48

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

    • 28 November 2014 at 23:27

      Создаете один ящик. Через десять минут он исчезает. Можете создать его заново.

  12. Лена
    1 December 2014 at 09:49

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

    • 1 December 2014 at 12:06

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

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

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

  13. Nikol
    6 October 2015 at 16:06

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

    • 6 October 2015 at 17:04

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

  14. nikolay
    2 December 2015 at 13:11

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

  1. No trackbacks yet.

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 )

Google photo

You are commenting using your Google 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

<span>%d</span> bloggers like this: