Мы будем использовать веб-сайт 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
|
|
Шаг 4
|
|
Шаг 5
|
|
ШАГ 6
Отключите кнопку записи, чтобы остановить запись. Теперь ваш сценарий должен выглядеть так, как показано ниже. |
|
Шаг 7.
Теперь, когда мы закончили с нашим тестовым скриптом, мы сохраним его в тестовом примере. В меню "Файл" выберите "Сохранить тестовый набор". Кроме того, вы можете просто нажать Ctrl + S. |
|
Шаг 8
|
|
Шаг 9.
Обратите внимание, что файл был сохранен как HTML. |
Шаг 10.
Вернитесь в Selenium IDE и нажмите кнопку «Воспроизведение», чтобы выполнить весь скрипт. Selenium IDE должна уметь безупречно все реплицировать.
Введение в команды Selenium - Selenese
- Команды Selenese могут иметь до двух параметров: цель и значение.
- Параметры не требуются постоянно. Это зависит от того, сколько понадобится команде.
3 типа команд
Действия |
Это команды, которые напрямую взаимодействуют с элементами страницы. Пример: команда «щелкнуть» - это действие, потому что вы напрямую взаимодействуете с элементом, на который щелкаете. Команда «type» также является действием, потому что вы помещаете значения в текстовое поле, а текстовое поле показывает их вам взамен. Между вами и текстовым полем существует двустороннее взаимодействие. |
Аксессоры |
Это команды, позволяющие сохранять значения в переменной. Пример: команда storeTitle является средством доступа, потому что она только «считывает» заголовок страницы и сохраняет его в переменной. Он не взаимодействует ни с одним элементом на странице. |
Утверждения |
Это команды, которые проверяют выполнение определенного условия. 3 типа утверждений
|
Утвердить против проверки
Общие команды
Командование | Количество параметров | Описание |
---|---|---|
открыто | 0–2 |
Открывает страницу по URL-адресу. |
щелкнуть / щелкнутьAndWait | 1 |
Щелкает по указанному элементу. |
type / typeKeys | 2 |
Набирает последовательность символов. |
verifyTitle / assertTitle | 1 |
Сравнивает фактический заголовок страницы с ожидаемым значением. |
verifyTextPresent | 1 |
Проверяет, есть ли на странице определенный текст. |
verifyElementPresent | 1 |
Проверяет наличие определенного элемента. |
verifyTable | 2 |
Сравнивает содержимое таблицы с ожидаемыми значениями. |
waitForPageToLoad | 1 |
Приостанавливает выполнение до полной загрузки страницы. |
waitForElementPresent | 1 |
Приостанавливает выполнение до тех пор, пока указанный элемент не появится. |
Создайте скрипт вручную с помощью Firebug
Теперь мы воссоздадим тот же тестовый пример вручную, введя команды. На этот раз нам нужно будет использовать Firebug.
Шаг 1
|
Шаг 2: Щелкните самую верхнюю пустую строку в редакторе. |
Введите «open» в текстовое поле «Команда» и нажмите Enter. |
Шаг 3
|
Шаг 4
|
Шаг 5
|
Щелкните текстовое поле «Имя пользователя». Обратите внимание, что Firebug автоматически показывает вам HTML-код для этого элемента. |
ШАГ 6
Обратите внимание, что в текстовом поле «Имя пользователя» нет идентификатора, но есть атрибут NAME. Поэтому мы будем использовать его ИМЯ в качестве локатора. Скопируйте значение NAME и вставьте его в поле Target в Selenium IDE. Все еще в текстовом поле Target префикс «userName» с «name =», указывающий, что Selenium IDE должна нацеливаться на элемент, атрибут NAME которого равен «userName». Введите «invalidUN» в текстовое поле «Значение» в Selenium IDE. Ваш тестовый сценарий теперь должен выглядеть, как на изображении ниже. Мы закончили с третьей командой. Примечание. Вместо invalidUN вы можете ввести любую другую текстовую строку. Но Selenium IDE чувствителен к регистру, и вы вводите значения / атрибуты точно так же, как в приложении. |
Шаг 7.
|
Шаг 8
|
Шаг 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 - использовать параметр «Экспортировать тестовый набор как…» в меню «Файл», а не через представление исходного кода.
Резюме
- Сценарии тестирования могут быть созданы путем записи или ввода команд и параметров вручную.
- При создании скриптов вручную Firebug используется для получения локатора.
- Кнопка «Найти» используется для проверки того, что команда может получить доступ к правильному элементу.
- В табличном представлении тестовый сценарий отображается в табличной форме, а в представлении «Исходный код» - в формате HTML.
- Изменение представления исходного кода в формат, отличный от HTML, все еще является экспериментальным.
- Не используйте представление исходного кода при создании тестов в других форматах. Вместо этого используйте функции экспорта.
- Параметры не требуются постоянно. Это зависит от команды.
- Есть три типа команд:
- Действия - напрямую взаимодействует с элементами страницы.
- Аксессоры - «считывают» свойство элемента и сохраняют его в переменной.
- Утверждения - сравнивает фактическое значение с ожидаемым.
- Утверждения бывают трех типов:
- Утверждение - при неудаче последующие шаги больше не выполняются
- Проверить - в случае сбоя последующие шаги по-прежнему выполняются.
- WaitFor - проходит, если указанное условие выполняется в течение периода ожидания; в противном случае он потерпит неудачу
- Наиболее распространенные команды:
- открыто
- щелкнуть / щелкнутьAndWait
- type / typeKeys
- verifyTitle / assertTitle
- verifyTextPresent
- verifyElementPresent
- verifyTable
- waitForPageToLoad
- waitForElementPresent