Как это работает? Selenium IDE со сценариями и командами (утверждение, проверка)
Мы будем использовать Mercury Веб-сайт Tours как наше тестируемое веб-приложение. Это онлайн-система бронирования авиабилетов, которая содержит все элементы, необходимые для этого руководства. Его URL-адрес https://demo.guru99.com/test/newtours/, и это будет наш базовый URL.
Давайте теперь создадим наш первый тестовый скрипт в Selenium IDE, используя самый распространенный метод – путем записи. После этого мы выполним наш скрипт, используя функцию воспроизведения.
Создайте сценарий путем записи
Шаг 1
- Запуск Firefox и Selenium IDE.
- Введите значение нашего базового URL: https://demo.guru99.com/test/newtours/.
- Togglе. включите кнопку «Запись» (если она еще не включена по умолчанию).
Шаг 2
In Firefox, перейдите в https://demo.guru99.com/test/newtours/. Firefox должен привести вас на страницу, похожую на показанную ниже. |
|
Шаг 3
|
|
Шаг 4
|
|
Шаг 5
|
|
Шаг 6
TogglВыключите кнопку записи, чтобы остановить запись. Теперь ваш скрипт должен выглядеть так, как показано ниже. |
|
Шаг 7
Теперь, когда мы закончили работу с нашим тестовым сценарием, мы сохраним его в тестовом наборе. В меню «Файл» выберите «Сохранить тестовый пример». Альтернативно вы можете просто нажать Ctrl+S. |
|
Шаг 8
|
|
Шаг 9
Обратите внимание, что файл был сохранен в формате HTML. |
Шаг 10) Вернитесь в Selenium IDE и нажмите кнопку «Воспроизведение», чтобы выполнить весь скрипт. Selenium IDE должна иметь возможность безупречно воспроизводить все.
Введение в Selenium Команды – Селенезе
- Команды Selenese могут иметь максимум два параметра: цель и значение.
- Параметры не требуются постоянно. Это зависит от того, сколько команд понадобится.
Типы команд
Действия | Это команды, которые напрямую взаимодействуют с элементами страницы.
Пример: команда «щелкнуть» является действием, поскольку вы напрямую взаимодействуете с элементом, на который щелкаете. Команда «тип» также является действием, поскольку вы вводите значения в текстовое поле, а текстовое поле показывает их вам в ответ. Между вами и текстовым полем происходит двустороннее взаимодействие. |
---|---|
Аксессоры | Это команды, которые позволяют сохранять значения в переменной.
Пример: команда «storeTitle» является средством доступа, поскольку она только «читает» заголовок страницы и сохраняет его в переменной. Он не взаимодействует ни с одним элементом на странице. |
Утверждения | Это команды, которые проверяют, выполняется ли определенное условие.
3 типа утверждений
|
Утверждать или проверять в Selenium
Общие команды
Command | Количество параметров | Описание |
---|---|---|
открытый | 0 – 2 | Открывает страницу, используя URL-адрес. |
нажмите/щелкнитеИПодождите | 1 | Щелкает по указанному элементу. |
тип/типКлавиши | 2 | Вводит последовательность символов. |
проверить заголовок/утвердить заголовок | 1 | Сравнивает фактический заголовок страницы с ожидаемым значением. |
проверитьтекстпредент | 1 | Проверяет, найден ли определенный текст на странице. |
проверитьЭлементПрезент | 1 | Проверяет наличие определенного элемента. |
проверитьтаблицу | 2 | Сравнивает содержимое таблицы с ожидаемыми значениями. |
ждатьForPageToLoad | 1 | Приостанавливает выполнение до полной загрузки страницы. |
ждатьForElementPresent | 1 | Приостанавливает выполнение до тех пор, пока указанный элемент не появится. |
Создайте скрипт вручную с помощью Firebug
Теперь мы воссоздадим тот же тестовый пример вручную, введя команды. На этот раз нам нужно будет использовать Firebug.
Шаг 1
|
Шаг 2: Нажмите на самую верхнюю пустую строку в редакторе. |
Введите «открыть» в текстовом поле «Команда» и нажмите Enter. |
Шаг 3
|
Шаг 4
|
Шаг 5
|
Нажмите на текстовое поле «Имя пользователя». Обратите внимание, что Firebug автоматически показывает вам HTML-код этого элемента. |
Шаг 6 Обратите внимание, что текстовое поле User Name не имеет ID, но имеет атрибут NAME. Поэтому мы будем использовать его NAME в качестве локатора. Скопируйте значение NAME и вставьте его в Target поле в Selenium IDE.
Тем не менее в Target текстовое поле, префикс «userName» с «name=», указывающий, что Selenium IDE должна ориентироваться на элемент, атрибут NAME которого имеет значение «userName». Введите «invalidUN» в текстовое поле «Значение» Selenium IDE. Ваш тестовый сценарий теперь должен выглядеть так, как показано на рисунке ниже. Мы закончили с третьей командой. Примечание. Вместо validUN вы можете ввести любую другую текстовую строку. Но Selenium IDE чувствительна к регистру, и вы вводите значения/атрибуты точно так же, как в приложении. |
Шаг 7
|
Шаг 8
|
Шаг 9: Сохраните тестовый пример так же, как мы это делали в предыдущем разделе.
Использование кнопки «Найти»
Кнопка «Найти» в Selenium IDE используется для проверки того, было ли то, что мы поместили в Target текстовое поле действительно является правильным элементом пользовательского интерфейса.
Давайте воспользуемся тестовым примером Invalid_login, который мы создали в предыдущих разделах. Нажмите на любую команду с значком Target запись, скажем, третьей команды.
Нажмите кнопку «Найти». Обратите внимание, что текстовое поле «Имя пользователя» в Mercury Страница туров подсвечивается на секунду.
Это указывает на то, что Selenium IDE смогла правильно обнаружить ожидаемый элемент и получить к нему доступ. Если кнопка «Найти» выделила другой элемент или вообще не выделила элемент, значит, с вашим скриптом что-то не так.
Выполнить команду
Это позволяет вам выполнить любую отдельную команду, не запуская весь тестовый пример.. Просто нажмите на строку, которую вы хотите выполнить, а затем либо нажмите «Действия > Выполнить эту команду» в строке меню, либо просто нажмите «X» на клавиатуре.
Шаг 1) Убедитесь, что ваш браузер включен Mercury Домашняя страница туров. Нажмите на команду, которую хотите выполнить. В этом примере нажмите «Введите | Имя пользователя | недопустимая строка UN.
Шаг 2) Нажмите «X» на клавиатуре.
Шаг 3) Обратите внимание, что текстовое поле для имени пользователя заполняется текстом «invalidUN».
Выполнение команд таким образом сильно зависит от страницы, на которой Firefox в настоящее время отображается. Это означает, что если вы попробуете пример выше с отображением домашней страницы Google вместо Mercury «Туры», то ваш шаг не будет выполнен, поскольку на главной странице Google нет текстового поля с атрибутом «userName».
Точка отсчета
Начальная точка – это индикатор, который сообщает Selenium IDE, в каких строках начнется выполнение. Его быстрая клавиша — «S».
В приведенном выше примере воспроизведение начнется с третьей строки (тип | пароль | инвалидный пароль). В одном тестовом сценарии может быть только одна начальная точка.
Начальная точка аналогична команде «Выполнить» тем, что они зависят от отображаемой в данный момент страницы. Начальная точка не будет выполнена, если вы окажетесь не на той странице.
Контрольные точки
Точки останова — это индикаторы, которые сообщают Selenium IDE, где автоматически приостанавливается тест. Быстрая клавиша — «В».
Желтая подсветка означает, что текущий шаг находится в ожидании. Это доказывает, что Selenium IDE приостановила выполнение на этом этапе. В одном тестовом примере может быть несколько точек останова.
Шаг
Это позволяет вам выполнять последующие команды по одной после приостановки тестового примера. Давайте воспользуемся сценарием из предыдущего раздела «Точки останова».
Важные моменты, на которые следует обратить внимание при использовании других форматов в представлении исходного кода
Selenium IDE хорошо работает только с HTML — остальные форматы пока находятся в экспериментальном режиме.. Он НЕ рекомендуется создавать или редактировать тесты, используя другие форматы в Source View, потому что еще предстоит много работы, чтобы сделать его стабильным. Ниже приведены известные ошибки версии 1.9.1.
- Вы не сможете ни воспроизвести, ни переключиться обратно в режим просмотра таблицы, пока не вернетесь к HTML.
- Единственный способ безопасно добавить команды в исходный код — это записать их.
- Когда вы изменяете исходный код вручную, весь он будет потерян при переключении на другой формат.
- Хотя вы можете сохранить свой тестовый пример в представлении исходного кода, Selenium IDE не сможет его открыть.
Рекомендуемый способ конвертировать тесты Selenese — использовать опцию «Экспортировать тестовый пример как…» в меню «Файл», а не через представление исходного кода.
Резюме
- Тестовые сценарии можно создавать путем записи или ввода команд и параметров вручную.
- При создании скриптов вручную для получения локатора используется Firebug.
- Кнопка «Найти» используется для проверки того, что команда может получить доступ к правильному элементу.
- В представлении «Таблица» тестовый сценарий отображается в табличной форме, а в представлении «Исходный код» он отображается в формате HTML.
- Изменение представления исходного кода на формат, отличный от HTML, все еще является экспериментальным.
- Не используйте представление исходного кода при создании тестов в других форматах. Вместо этого используйте функции экспорта.
- Параметры не требуются постоянно. Это зависит от команды.
- Существует три типа команд:
- Действия – напрямую взаимодействует с элементами страницы.
- Аксессоры – «читают» свойство элемента и сохраняют его в переменной.
- Утверждения – сравнивает фактическое значение с ожидаемым.
- Утверждения имеют три типа:
- Assert – в случае сбоя последующие шаги больше не выполняются.
- Проверьте – в случае сбоя последующие шаги все равно выполняются.
- WaitFor – проходит, если указанное условие становится истинным в течение периода ожидания; в противном случае это потерпит неудачу
- Наиболее распространенные команды:
- открытый
- нажмите/щелкнитеИПодождите
- тип/типКлавиши
- проверить заголовок/утвердить заголовок
- проверитьтекстпредент
- проверитьЭлементПрезент
- проверитьтаблицу
- ждатьForPageToLoad
- ждатьForElementPresent