Selenium ide как настроить

Как автотесты упрощают жизнь. Selenium IDE — что это, как установить и использовать

Selenium IDE — простое в использовании расширение к браузеру Firefox, которое помогает разрабатывать тестовые сценарии веб-страниц. Он записывает определенный сценарий поведения пользователя на сайте, а потом воспроизводит записанные действия в автоматическом режиме. Selenium IDE также обладает более 500-ми встроенными командами, которые позволяют зафиксировать практически любые ваши действия на сайте и воспроизвести их вновь или осуществить проверку какого-то элемента.

Например, как узнать, что в вашем интернет-магазине исправно работает оформления заказа? Нужно зайти в карточку какого-либо товара, положить его в корзину, перейти на страницу оформления заказа, заполнить данные заказа (фио, телефон, адрес, e-mail и тд), нажать кнопку «Оформить заказ», убедиться, что заказ оформлен. В следующий раз, чтоб проверить тот же сценарий, вам придется проделать эти действия снова. Но на самом деле, вам можно сделать это всего один раз, а Selenium IDE даcт возможность многократно повторить эти действия в автоматическом режиме.

Selenium IDE призван обнаруживать функционал сайта, который раньше работал, но потом, вдруг, вышел из строя по каким-то причинам или начал работать не так, как от него требуется. Такое часто случается при внесении новых изменений на сайт — когда новый функционал сайта косвенно влияет на работу другого функционала и эта поломка может остаться незамеченной. Selenium IDE поможет зафиксировать работу текущего функцонала путем создания тест кейсов вашего сайта. После внесения новых изменений на сайт, чтоб убедиться, что ничего не поломалось, нужно нажать одну кнопку и посмотреть результат выполнения тест кейсов.

Мы задумались об использовании Selenium IDE при разработке одного из наших проектов, когда проверки типа «а ничего ли не поломалось в других местах?» стали очень трудоемкими. Представьте, что на проекте добавление нового функционала может повлиять на отображение блоков информации на пяти разных типах страниц и вам нужно быть уверенными, что они по-прежнему работают так, как и раньше. Можете представить сколько времени занимал бы переход на каждую из пяти видов страниц, совершения там необходимых действий и проверки все ли исправно. Мы решили возложить эту ношу на автоматический тест!

После создания автотеста работа по проверке, которая вручную выполнялась минимум за 10-15 минут, теперь выполнялась только 60 секунд. Вот как выглядит запуск такого автотеста — вы нажимаете одну кнопку и Selenium IDE выполняет тест кейсы проверяя работоспособность сайта:

Установка Selenium IDE

Установка Selenium IDE занимает пол минуты. Напомним, что Selenium IDE — плагин для браузера Firefox. По этому для его установки нужно перейти по ссылке для скачивания плагина используя браузер Firefox — http://docs.seleniumhq.org/download/

В документации написано, что после перехода на страницу скачивания — браузер сам предложит установить плагин и попросит разрешения. Если же такого не произошло, то нужно проскроллить страницу до подзаголовка «Selenium IDE» и нажать на ссылку, следующую за словами «Download latest released version»

После этого браузер все же должен вывести окно для подтверждения вами установки плагина. Соглашайтесь и устанавливайте его, затем перезапустите браузер.

У вас появится новая иконка в правом углу панели браузера.

Если на нее кликнуть — выведется окно Selenium IDE. Поздравляем, плагин установлен!

Пример создания Test Suite и Test Case

Теперь разберемся как работать с Selenium IDE на базовых примерах. Возьмем сайт компании E-PAGES и допустим, что нам нужно постоянно контролировать две вещи:

  • что на странице контактов отображается правильный телефон
  • на странице услуг посетители могут видеть услугу создания интернет-магазина

Давайте приступим к написанию автотестов для этих задач!

Откройте окно Selenium IDE в браузере нажав на его иконку в панели. Вы должны увидеть такое окно:

В Selenium IDE существуют два основных структурных элемента: Test Case и Test Suite.
Test Case — это набор команд, которые указывает Selenium IDE как проводить тестирование вашего сайта. Чуть ниже будет описано как создавать такие команды для решения поставленных задач проверки телефона и услуги на разных страницах.
Test Suite — это набор из нескольких Test Case’ов. Призван для логической группировки тест кейсов в одном, скажем так, месте.

Начнем с проверки телефона. В поле Base URL впишите адрес тестируемого сайта — http://epages.su, а также перейдите в браузер и откройте сайт во вкладке Firefox. В данный момент Selenium IDE записывает все наши действия с сайтом. Об этом свидетельствует активированная красная кнопка записи в правом углу окна. Перейдите в окно с сайтом и кликните на пункт меню «Контакты». Selenium IDE запишет эти действия:

Если мы запустим этот тест кейс, то он автоматически перейдет на сайт epages.su и потом перейдет на страницу контактов. Половина задачи сделана, осталось добавить проверку на наличие номера телефона. Для этого нужно выделить пустую строку в области, где появились записи перехода по страницам и заполнить два поля Command и Target. В поле Command нужно вызвать функцию assertElementPresent, которая проверят есть ли искомый элемент на странице. А в поле Target нужно указать этот искомый элемент. Для этого нужно нажать на кнопку Select справа от поля, перейти на страницу сайта и выбрать мышкой номер телефона. После этих действий ваше окно должно выглядеть так:

Читайте также:  Putty не работает вставить

Настало время проверить как работает этот тест кейс. Нажмите зеленую стрелку Play с тремя зелеными прямоугольниками. Эта кнопка запускает по очереди все тест кейсы в текущем наборе (Test Suite’е). Все строки нашего тест кейса должны окраситься в зеленый цвет, что означает, что наш тест успешно перешел на сайт E-PAGES, нашел там страницу контактов и правильный номер телефона на ней!

Отлично, мы теперь можем быть уверенными, что на сайте отображается правильный номер телефона. Давайте сохраним наши наработки — нажмите Ctrl+S и сохраните файл тест кейса в отдельную папку. Старайтесь давать осмысленные названия файлам — так будет легче понять что именно они тестируют.

Перейдем к проверке нужной услуги создания интернет-магазина на странице «Услуги». Для этого создадим новый тест кейс — кликните правой кнопкой миши под существующим тест кейсом и выберите «New Test Case». Перейдите на главную страницу сайта. Затем в окне IDE включите запись действий нажав на красную кнопку справа вверху. Перейдите на страницу «Услуги» — Selenium IDE запишет эти действия, как и в первый раз. Теперь нам нужно проверить присутствуют ли на странице слова «Создание интернет-магазина». Для этого выделите пустую строку под последним записанным действием и заполните поля ниже такими данными:
Command — assertText
Target — css=div.service-list
Value — glob:*Создание интернет-магазина*
У вас должно получиться пирмерно так:

Запустим наши тест кейсы кнопкой Play и убедимся, что они успешно проходят — новый тест кейс переходит на страницу услуг и проверяет выведена ли там услуга создания интернет-магазина. Теперь сохраним второй тест кейс рядом с первым нажав кнопки Ctrl+S. Теперь у нас два тест кейса в разных файлах — пора объединить их в один Test Suite. Для этого нужно нажать Меню Файл — Save Test Suite. Сохранять его нужно рядом с тест кейсами в одной папке. Теперь при открытии нового окна Selenium IDE можно нажать Меню Файл — Open Test Suite и выбрать последний сохраненный файл — откроется сразу две тест кейса. Позже в этот Test Suite можно будет добавть следующие тест кейсы, которые будут тестировать другой функционал вашего сайта.

Заключение

В этом посте мы познакомились с Selenium IDE — мощным инструментом, который облегчает жизнь. Он позволяет создавать автоматизированные тесты, с которыми вы всегда будете уверены в работоспособности вашего веб-сайта. Файлы тест кейсов являются текстовыми — по этому вы можете без труда хранить их в системе котроля версий и отслеживать их изменения, а также распространять в команде разработчиков.

Источник

Создание и тестирование потоков Selenium IDE

Чтобы создать простой поток Selenium, выполните указанные ниже действия.

Создание потоков Selenium IDE

При необходимости войдите в рабочую или учебную учетную запись.

Выберите Мои потоки > Классические потоки > Создать.

Щелкните Дополнительные параметры классического потока.

Выберите Selenium IDE, затем выберите Далее.

Введите имя потока Selenium IDE в поле Имя потока.

Введите URL-адрес веб-сайта, который необходимо автоматизировать, в поле Базовый URL-адрес, а затем выберите Запустить средство записи.

Запустится интегрированная среда разработки (IDE) Selenium.

Совет. Вы можете записать действия для нескольких веб-сайтов HTTP или HTTPS на одной вкладке.

В Selenium IDE нажмите красную кнопку REC в правом верхнем углу экрана, чтобы запустить средство записи.

Откроется URL-адрес, выбранный на предыдущем шаге.

Выполните действия, которые необходимо записать на веб-сайте.

В правом нижнем углу можно увидеть состояние записи.

Завершив запись, нажмите красную кнопку остановки в правом верхнем углу Selenium IDE.

Нажмите кнопку Запустить текущий тест в левом верхнем углу экрана, чтобы увидеть запуск только что созданного потока Selenium IDE.

Вы можете задать время ожидания между шагами, чтобы замедлить локальное воспроизведение для тестирования. Этот параметр предназначен только для тестирования и не влияет на развертывание потока Selenium IDE.

Нажмите кнопку Сохранить проект в правом верхнем углу Selenium IDE. После этого проект закроется, а затем будет отправлен.

Теперь, когда вы создали поток Selenium IDE, используйте его в других потоках.

Ограничения и известные проблемы, связанные с потоками Selenium IDE

Пароли в Selenium IDE хранятся в виде обычного текста.

Временный профиль пользователя для воспроизведения

Записи Selenium IDE создаются с помощью профиля текущего пользователя, а воспроизведение выполняется с использованием временного профиля пользователя. Это означает, что веб-сайты, которым требуется проверка подлинности, могут не запрашивать учетные данные во время сеанса записи, но во время воспроизведения потребуется выполнить шаги проверки подлинности.

Чтобы решить эту проблему, пользователю необходимо вручную отредактировать скрипт, чтобы вставить команды, необходимые для входа в систему.

Другие ограничения

Запись классических приложений во время веб-сеанса записи. Если необходимо автоматизировать как веб-приложения, так и классические приложения, можно создать отдельные классические потоки для каждого типа, а затем объединить их в облачный поток.

Многофакторная идентификация (MFA) не поддерживается, используйте клиент, не требующий MFA.

Следующие команды Selenium IDE не поддерживаются: Run, AnswerOnNextPrompt, ChooseCancelOnNextConfirmation, ChooseCancelOnNextPrompt, ChooseOkOnNextConfirmation, Debugger, ClickAt, DoubleClickAt, Echo, MouseOut, MouseUpAt и MouseDownAt.

Действия или шаги Selenium IDE не могут выполняться дольше одной минуты. Используйте вместо этого Power Automate Desktop.

Читайте также:  Ноутбук hp петли сломались

Щелчок правой кнопкой мыши не поддерживается.

Дополнительные входные данные потока Selenium IDE создаются при использовании команд Foreach. Чтобы обойти эту ошибку, введите любое значение в дополнительные поля. Это не повлияет на воспроизведение.

Если файл с расширением SIDE содержит несколько тестовых проектов, выполняется только первый из созданных.

Обратите внимание, что Selenium IDE упорядочивает тесты по имени, а не по дате создания, поэтому первый созданный тест может не быть первым в списке.

Воспроизведение непосредственно в Selenium IDE может работать не так, как предполагалось. Однако воспроизведение во время выполнения ведет себя правильно.

Дальнейшие действия

Узнайте, как использовать входные и выходные параметры с помощью Selenium IDE.

Источник

Как использовать Selenium IDE со скриптами и командами (Assert, Verify)

Мы будем использовать веб-сайт Mercury Tours в качестве тестируемого веб-приложения. Это онлайн-система бронирования авиабилетов, которая содержит все элементы, необходимые для этого руководства. Его URL-адрес — http://demo.guru99.com/test/newtours/, и это будет наш базовый URL-адрес.

Создать сценарий путем записи

Давайте теперь создадим наш первый тестовый скрипт в Selenium IDE наиболее распространенным методом — записью. После этого мы выполним наш скрипт, используя функцию воспроизведения.

Шаг 1

  • Запустите Firefox и Selenium IDE.
  • Введите значение для нашего базового URL: http://demo.guru99.com/test/newtours/.
  • Включите кнопку записи (если она еще не включена по умолчанию).
Шаг 2

В Firefox перейдите по адресу http://demo.guru99.com/test/newtours/. Firefox должен перенаправить вас на страницу, подобную показанной ниже.

Шаг 3
  • Щелкните правой кнопкой мыши любое пустое место на странице, например, логотип Mercury Tours в верхнем левом углу. Это вызовет контекстное меню Selenium IDE. Примечание. Не нажимайте на объекты или изображения с гиперссылками.
  • Выберите параметр «Показать доступные команды».
  • Затем выберите «assertTitle exact: Welcome: Mercury Tours». Это команда, которая проверяет правильность заголовка страницы.
Шаг 4
  • В текстовом поле «Имя пользователя» Mercury Tours введите недопустимое имя пользователя «invalidUNN».
  • В текстовом поле «Пароль» введите неверный пароль «invalidPWD».
Шаг 5
  • Щелкните по кнопке «Войти». Firefox должен перенаправить вас на эту страницу.
ШАГ 6

Отключите кнопку записи, чтобы остановить запись. Теперь ваш сценарий должен выглядеть так, как показано ниже.

Шаг 7.

Теперь, когда мы закончили с нашим тестовым скриптом, мы сохраним его в тестовом примере. В меню «Файл» выберите «Сохранить тестовый набор». Кроме того, вы можете просто нажать Ctrl + S.

Шаг 8
  • Выберите желаемое местоположение и назовите тестовый набор «Invalid_login».
  • Нажмите кнопку «Сохранить».
Шаг 9.

Обратите внимание, что файл был сохранен как HTML.

Шаг 10.

Вернитесь в Selenium IDE и нажмите кнопку «Воспроизведение», чтобы выполнить весь скрипт. Selenium IDE должна уметь безупречно все реплицировать.

Введение в команды Selenium — Selenese

  • Команды Selenese могут иметь до двух параметров: цель и значение.
  • Параметры не требуются постоянно. Это зависит от того, сколько понадобится команде.

3 типа команд

Действия

Это команды, которые напрямую взаимодействуют с элементами страницы.

Пример: команда «щелкнуть» — это действие, потому что вы напрямую взаимодействуете с элементом, на который щелкаете.

Команда «type» также является действием, потому что вы помещаете значения в текстовое поле, а текстовое поле показывает их вам взамен. Между вами и текстовым полем существует двустороннее взаимодействие.

Аксессоры

Это команды, позволяющие сохранять значения в переменной.

Пример: команда storeTitle является средством доступа, потому что она только «считывает» заголовок страницы и сохраняет его в переменной. Он не взаимодействует ни с одним элементом на странице.

Утверждения

Это команды, которые проверяют выполнение определенного условия.

3 типа утверждений

  • Утвердить . Когда команда «assert» терпит неудачу, тест немедленно останавливается.
  • Проверить . Когда команда «verify» терпит неудачу, Selenium IDE регистрирует эту ошибку и продолжает выполнение теста.
  • WaitFor . Прежде чем перейти к следующей команде, команды «waitFor» сначала дождутся выполнения определенного условия.
    • Если условие выполняется в течение периода ожидания, шаг проходит.
    • Если условие не выполняется, шаг не выполняется. Ошибка регистрируется, и выполнение теста переходит к следующей команде.
    • По умолчанию значение тайм-аута составляет 30 секунд. Вы можете изменить это в диалоговом окне «Параметры Selenium IDE» на вкладке «Общие».

Утвердить против проверки

Общие команды

Открывает страницу по URL-адресу.

Щелкает по указанному элементу.

Набирает последовательность символов.

Сравнивает фактический заголовок страницы с ожидаемым значением.

Проверяет, есть ли на странице определенный текст.

Проверяет наличие определенного элемента.

Сравнивает содержимое таблицы с ожидаемыми значениями.

Приостанавливает выполнение до полной загрузки страницы.

Приостанавливает выполнение до тех пор, пока указанный элемент не появится.

Создайте скрипт вручную с помощью Firebug

Теперь мы воссоздадим тот же тестовый пример вручную, введя команды. На этот раз нам нужно будет использовать Firebug.

Командование Количество параметров Описание
открыто 0–2

Введите «open» в текстовое поле «Команда» и нажмите Enter.

Шаг 1
  • Откройте Firefox и Selenium IDE.
  • Введите базовый URL (http://demo.guru99.com/test/newtours/).
  • Кнопка записи должна быть ВЫКЛЮЧЕНА.
Шаг 2: Щелкните самую верхнюю пустую строку в редакторе.
Шаг 3
  • Перейдите в Firefox по нашему базовому URL-адресу и активируйте Firebug.
  • На панели Selenium IDE Editor выберите вторую строку (строка под командой «open») и создайте вторую команду, набрав «assertTitle» в поле «Команда».
  • Не стесняйтесь использовать функцию автозаполнения.
Шаг 4
  • В Firebug разверните тег , чтобы отобразить тег .
  • Щелкните значение тега («Добро пожаловать: Mercury Tours») и вставьте его в поле «Цель» в редакторе.
Шаг 5
  • Чтобы создать третью команду, щелкните третью пустую строку в редакторе и введите «тип» в текстовом поле «Команда».
  • В Firebug нажмите кнопку «Проверить».
Щелкните текстовое поле «Имя пользователя». Обратите внимание, что Firebug автоматически показывает вам HTML-код для этого элемента.
ШАГ 6

Обратите внимание, что в текстовом поле «Имя пользователя» нет идентификатора, но есть атрибут NAME. Поэтому мы будем использовать его ИМЯ в качестве локатора. Скопируйте значение NAME и вставьте его в поле Target в Selenium IDE.

Все еще в текстовом поле Target префикс «userName» с «name =», указывающий, что Selenium IDE должна нацеливаться на элемент, атрибут NAME которого равен «userName».

Введите «invalidUN» в текстовое поле «Значение» в Selenium IDE. Ваш тестовый сценарий теперь должен выглядеть, как на изображении ниже. Мы закончили с третьей командой. Примечание. Вместо invalidUN вы можете ввести любую другую текстовую строку. Но Selenium IDE чувствителен к регистру, и вы вводите значения / атрибуты точно так же, как в приложении.

Шаг 7.
  • Чтобы создать четвертую команду, введите «тип» в текстовом поле «Команда».
  • Опять же, используйте кнопку Firebug «Inspect», чтобы получить указатель для текстового поля «Пароль».

    Вставьте атрибут NAME («пароль») в поле «Цель» и добавьте к нему префикс «name =».

    Введите «invalidPW» в поле «Значение» в Selenium IDE. Ваш тестовый сценарий теперь должен выглядеть как на изображении ниже.

Шаг 8
  • Для пятой команды введите «clickAndWait» в текстовом поле «Команда» в Selenium IDE.
  • Используйте кнопку Firebug «Проверить», чтобы получить указатель кнопки «Войти».
  • Вставьте значение атрибута NAME («логин») в текстовое поле «Цель» и добавьте к нему префикс «name =».
  • Ваш тестовый сценарий теперь должен выглядеть как на изображении ниже.

Шаг 9: Сохраните тестовый пример так же, как мы делали в предыдущем разделе.

Использование кнопки поиска

Кнопка «Найти» в Selenium IDE используется для проверки того, действительно ли то, что мы поместили в текстовое поле «Цель», является правильным элементом пользовательского интерфейса.

Давайте воспользуемся тестовым примером Invalid_login, который мы создали в предыдущих разделах. Щелкните любую команду с записью Target, например третью команду.

Щелкните по кнопке «Найти». Обратите внимание, что текстовое поле «Имя пользователя» на странице Mercury Tours выделяется на секунду.

Это указывает на то, что Selenium IDE смогла правильно обнаружить ожидаемый элемент и получить к нему доступ. Если кнопка «Найти» выделила другой элемент или вообще не выделила его, значит, с вашим скриптом что-то не так.

Выполнить команду

Это позволяет выполнять любую отдельную команду без запуска всего тестового примера . Просто щелкните строку, которую хотите выполнить, а затем либо щелкните «Действия> Выполнить эту команду» в строке меню, либо просто нажмите «X» на клавиатуре.

Шаг 1. Убедитесь, что ваш браузер находится на главной странице Mercury Tours. Щелкните команду, которую хотите выполнить. В этом примере щелкните строку «type | userName | invalidUN».

Шаг 2. Нажмите «X» на клавиатуре.

Шаг 3. Обратите внимание, что текстовое поле для имени пользователя заполняется текстом «invalidUN».

Выполнение команд таким способом сильно зависит от страницы, отображаемой Firefox в данный момент . Это означает, что если вы попробуете приведенный выше пример с отображаемой домашней страницей Google вместо Mercury Tours, тогда ваш шаг не удастся, потому что на главной странице Google нет текстового поля с атрибутом userName.

Точка отсчета

Начальная точка — это индикатор, который сообщает Selenium IDE, какие строки будут запускаться . Его горячая клавиша — «S».

В приведенном выше примере воспроизведение начнется с третьей строки (введите | пароль | invalidPW). В одном тестовом сценарии может быть только одна начальная точка.

Начальная точка похожа на «Выполнить команду» в том смысле, что они зависят от текущей отображаемой страницы. Начальная точка не сработает, если вы перейдете не на ту страницу.

Контрольные точки

Точки останова — это индикаторы, которые сообщают Selenium IDE, где автоматически приостановить тест. Сочетание клавиш — «B».

Желтое выделение означает, что текущий шаг отложен. Это доказывает, что Selenium IDE приостановила выполнение на этом этапе. В одном тестовом примере может быть несколько точек останова.

Это позволяет вам выполнять последующие команды по одной после приостановки тестового примера. Воспользуемся сценарием из предыдущего раздела «Точки останова».

Перед нажатием кнопки «Шаг».

Тестовый пример останавливается на строке «clickAndWait | login».

После нажатия «Шаг».

Строка «clickAndWait | login» запускается и переходит к следующей команде (verifyTitle | Sign-on: Mercury Tours).

Обратите внимание, что следующая строка приостанавливается, даже если там нет точки останова. Это основная цель функции Step — она ​​выполняет последующие команды по одной, чтобы дать вам больше времени для проверки результата после каждого шага.

Важные моменты, на которые следует обратить внимание при использовании других форматов в режиме просмотра исходного кода

Selenium IDE хорошо работает только с HTML — другие форматы все еще находятся в экспериментальном режиме . Это НЕ рекомендуется создавать и редактировать тесты с использованием других форматов в Source View , потому что есть еще много работы , необходимо , чтобы сделать ее более стабильной. Ниже приведены известные ошибки версии 1.9.1.

  • Вы не сможете ни воспроизвести, ни вернуться к просмотру таблицы, если не вернетесь к HTML.
  • Единственный способ безопасно добавить команды в исходный код — это записать их.
  • Если вы измените исходный код вручную, он будет утерян при переключении на другой формат.
  • Хотя вы можете сохранить свой тестовый пример в режиме просмотра исходного кода, Selenium IDE не сможет его открыть.

Рекомендуемый способ конвертировать тесты Selenese — использовать параметр «Экспортировать тестовый набор как…» в меню «Файл», а не через представление исходного кода.

Источник

Оцените статью