В этом руководстве мы изучим команды Store, команды Echo, предупреждения и обработку всплывающих окон.
Сохранение переменных и команда Echo
Магазин
Для хранения переменных в Selenium IDE мы используем команду store. На приведенном ниже рисунке значение «tutorial» сохраняется в переменной с именем «myVariable».
Чтобы получить доступ к переменной, просто заключите ее в символ $ {…}. Например, чтобы ввести значение «myVariable» в текстовое поле «userName» Mercury Tours, введите $ {myVariable} в поле «Значение».
StoreElementPresent
Эта команда сохраняет либо «истина», либо «ложь» в зависимости от наличия указанного элемента. Приведенный ниже сценарий сохраняет логическое значение «истина» в «переменную1» и «ложь» в «переменную2». Чтобы проверить, мы будем использовать команду «echo» для отображения значений var1 и var2. Базовый URL-адрес для иллюстрации ниже был настроен на домашнюю страницу Mercury Tours.
StoreText
Эта команда используется для сохранения внутреннего текста элемента в переменной. На приведенном ниже рисунке внутренний текст тега в Facebook хранится в переменной с именем textVar.
Поскольку это единственный элемент на странице, можно безопасно использовать css = h1 в качестве нашей цели. На изображении ниже показано, что Selenium IDE смогла сохранить строку «Sign Up» в переменной textVar, правильно распечатав ее значение.
Оповещения, всплывающие окна и несколько окон
Оповещения, вероятно, являются самой простой формой всплывающих окон. Наиболее распространенные команды Selenium IDE, используемые для обработки предупреждений, следующие:
assertAlert assertNotAlert | извлекает сообщение предупреждения и утверждает его строковому значению, которое вы указали |
assertAlertPresent assertAlertNotPresent | утверждает, присутствует ли предупреждение |
storeAlert | извлекает предупреждающее сообщение и сохраняет его в переменной, которую вы укажете |
storeAlertPresent | возвращает ИСТИНА, если присутствует предупреждение; ЛОЖЬ, если иначе |
verifyAlert verifyNotAlert | извлекает сообщение предупреждения и проверяет, соответствует ли оно указанному вами строковому значению |
verifyAlertPresent verifyAlertNotPresent | проверяет, присутствует ли предупреждение |
При работе с предупреждениями помните об этих двух вещах:
- Selenium IDE автоматически нажмет кнопку ОК в окне предупреждения, и вы не сможете увидеть фактическое предупреждение.
- Selenium IDE не сможет обрабатывать предупреждения, которые находятся в функции onload () страницы. Он сможет обрабатывать только предупреждения, которые генерируются после полной загрузки страницы.
В этом примере мы воспользуемся командой storeAlert, чтобы показать, что даже несмотря на то, что Selenium IDE не показывала фактическое предупреждение, она все же смогла получить свое сообщение.
Шаг 1. В Selenium IDE установите базовый URL-адрес http://jsbin.com. & полный URL: http://jsbin.com/usidix
Шаг 2. Создайте сценарий, как показано ниже.
Шаг 3. Запустите сценарий и не ожидайте, что вы сможете увидеть фактическое предупреждение.
Подтверждения
Подтверждения - это всплывающие окна, которые дают вам кнопку ОК и ОТМЕНА, в отличие от предупреждений, которые дают вам только кнопку ОК. Команды, которые вы можете использовать при обработке подтверждений, аналогичны командам при обработке предупреждений.
- assertConfirmation / assertNotConfirmation
- assertConfirmationPresent / assertConfirmationNotPresent
- storeConfirmation
- storeConfirmationPresent
- verifyConfirmation / verifyNotConfirmation
- verifyConfirmationPresent / verifyConfirmationNotPresent
Однако это дополнительные команды, которые вам нужно использовать, чтобы указать Selenium, какую опцию выбрать, будь то кнопка OK или кнопка CANCEL.
- chooseOkOnNextConfirmation / chooseOkOnNextConfirmationAndWait
- chooseCancelOnNextConfirmation
Вы должны использовать эти команды перед командой, которая запускает окно подтверждения, чтобы Selenium IDE заранее знала, какой вариант выбрать. Опять же, вы не сможете увидеть фактическое окно подтверждения во время выполнения скрипта.
Давайте протестируем веб-страницу, на которой есть кнопка, которая была закодирована, чтобы показать, нажал ли пользователь кнопку ОК или ОТМЕНА.
Шаг 1. В Selenium IDE установите базовый URL-адрес http://jsbin.com, а полный URL-адрес: http://jsbin.com/enifaf
Шаг 2. Создайте сценарий, как показано ниже. На этот раз мы сначала нажмем кнопку ОК.
Шаг 3. Запустите сценарий и обратите внимание, что вы не видите фактического подтверждения, но веб-страница смогла указать, какая кнопка была нажата в Selenium IDE.
Шаг 4. Замените команду «chooseOkOnNextConfirmation» на «chooseCancelOnNextConfirmation» и снова выполните сценарий.
Несколько окон
Если вам случится щелкнуть ссылку, которая запускает отдельное окно, вы должны сначала указать Selenium IDE выбрать это окно, прежде чем вы сможете получить доступ к элементам в нем . Для этого вы будете использовать заголовок окна в качестве его указателя .
Мы используем команду selectWindow для переключения между окнами.
Мы будем использовать ссылку http://jsbin.com/ocinaj/1 с заголовком «Первое окно». Гиперссылка «здесь», найденная на этой странице, откроет Facebook в новом окне, после чего мы проинструктируем Selenium IDE сделать следующее:
- Передайте управление из родительского окна новому открытому окну Facebook, используя команду "selectWindow" и ее заголовок в качестве указателя.
- Проверьте заголовок нового окна
- Вернитесь к исходному окну, используя команду «selectWindow» и «null» в качестве цели.
- Проверить заголовок текущего выбранного окна
Шаг 1. Установите базовый URL-адрес на http://jsbin.com.
Шаг 2. Создайте сценарий, как показано ниже.
Нам нужна команда «пауза», чтобы дождаться загрузки только что запущенного окна, прежде чем мы сможем получить доступ к его заголовку.
Шаг 3. Запускаем скрипт. Обратите внимание, что тестовый пример прошел, а это означает, что мы смогли успешно переключаться между окнами и проверять их заголовки.
Всегда помните, что установка для цели selectWindow значения «null» автоматически выберет родительское окно (в данном случае окно, в котором находится элемент «link = here»).
Примечание. Facebook изменил название с момента создания учебников. Пожалуйста, измените код соответствующим образом
Резюме
- Команда store (и все ее варианты) используются для хранения переменных в Selenium IDE.
- Команда "echo" используется для печати строкового значения или переменной.
- Переменные заключаются в $ {…} при печати или использовании в элементах.
- Selenium IDE автоматически нажимает кнопку ОК при обработке предупреждений
- При обработке диалоговых окон подтверждения вы можете указать Selenium IDE, какую опцию использовать:
- chooseOkOnNextConfirmation / chooseOkOnNextConfirmationAndWait
- chooseCancelOnNextConfirmation
- Заголовки окон используются в качестве указателей при переключении между окнами браузера.
- При использовании команды «selectWindow» установка для Target значения «null» автоматически направит Selenium IDE на выбор родительского окна.