Сохранение переменных, Echo, Alert, обработка всплывающих окон в Selenium IDE

В этом уроке мы изучим команды Store, команды Echo, оповещения и обработку всплывающих окон.

Переменные Selenium IDE

Магазин

Для хранения переменных в Selenium IDE мы используем команду «store». На рисунке ниже значение «tutorial» сохраняется в переменной с именем «myVariable».

Переменные Selenium IDE

Чтобы получить доступ к переменной, просто заключите ее в символ ${…}. Например, чтобы ввести значение «myVariable» в текст «userName».box Mercury Tours, введите ${myVariable} в поле Значение.

Переменные Selenium IDE

StoreElementPresent

Эта команда сохраняет значение «истина» или «ложь» в зависимости от наличия указанного элемента. В приведенном ниже сценарии логическое значение «истина» сохраняется в «var1» и «false» в «var2». Для проверки мы будем использовать команду «echo» для отображения значений var1 и var2. Базовый URL-адрес для иллюстрации ниже был установлен на домашнюю страницу Mercury Tours.

StoreElementPresent

Магазинтекст

Эта команда используется для сохранения внутреннего текста элемента в переменной. На рисунке ниже внутренний текст тега в Facebook сохраняется в переменной с именем textVar.

Магазинтекст

Поскольку это единственный элемент на странице, в качестве цели можно безопасно использовать «css=h1». На изображении ниже показано, что Selenium IDE смогла сохранить строку «Sign Up» в переменной «textVar», правильно напечатав ее значение.

Магазинтекст

Оповещения, всплывающие окна и множественные Windows

Оповещения, вероятно, являются самой простой формой всплывающих окон. windows. Наиболее распространенные команды Selenium IDE, используемые для обработки предупреждений, следующие:wing:

Оповещения Пользы

утверждатьAlert

утверждатьNotAlert

извлекает сообщение оповещения и присваивает ему указанное вами строковое значение

AssertAlertPresent

AssertAlertNotPresent

утверждает, присутствует ли предупреждение или нет
storeAlert извлекает предупреждающее сообщение и сохраняет его в указанной вами переменной
магазинAlertPresent возвращает TRUE, если присутствует предупреждение; ЛОЖЬ, если другоеwise

проверить оповещение

проверитьNotAlert

извлекает сообщение оповещения и проверяет, соответствует ли оно указанному вами строковому значению.

проверитьAlertPresent

проверитьAlertNotPresent

проверяет, присутствует ли предупреждение или нет

Помните эти две вещи при работе с оповещениями:

  • Selenium IDE автоматически нажмет кнопку «ОК» в окне предупреждения, и вы не сможете увидеть фактическое предупреждение.
  • Selenium IDE не сможет обрабатывать оповещения, находящиеся в функции onload() страницы. Он сможет обрабатывать только оповещения, которые генерируются после полной загрузки страницы.

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

Шаг 1) В Selenium IDE установите базовый URL-адрес http://jsbin.com. и полный URL: http://jsbin.com/usidix

Шаг 2) Создайте скрипт, как показано ниже.

Оповещения, всплывающие окна и множественные Windows

Шаг 3) Выполните сценарий и не ждите, что вы сможете увидеть фактическое предупреждение.

Оповещения, всплывающие окна и множественные Windows

Подтверждения

Подтверждения — это всплывающие окна, которые дают вам кнопки «ОК» и «ОТМЕНА», в отличие от предупреждений, которые дают вам только кнопку «ОК». Команды, которые вы можете использовать для обработки подтверждений, аналогичны командам для обработки предупреждений.

  • AssertConfirmation/assertNotConfirmation
  • AssertConfirmationPresent/assertConfirmationNotPresent
  • storeПодтверждение
  • магазинПодтверждениеПодарок
  • верифицироватьконфирматион/верифинотконфирматион
  • verifyConfirmationPresent/verifyConfirmationNotPresent

Однако это дополнительные команды, которые вам нужно использовать, чтобы указать Selenium, какой вариант выбрать: кнопку «ОК» или кнопку «ОТМЕНА».

  • ChooseOkOnNextConfirmation/chooseOkOnNextConfirmationAndWait
  • выберитеОтменаНаСледующемПодтверждение

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

Давайте протестируем веб-страницу, на которой есть кнопка, закодированная так, чтобы показать, нажал ли пользователь кнопку «ОК» или «ОТМЕНА».

Шаг 1) В Selenium IDE установите базовый URL-адрес http://jsbin.com.

и полный URL: http://jsbin.com/enifaf

Шаг 2) Создайте скрипт, как показано ниже. На этот раз мы сначала нажмем кнопку ОК.

Подтверждения

Шаг 3) Выполните сценарий и обратите внимание, что вы не видите фактического подтверждения, но веб-страница смогла указать, какая кнопка была нажата Selenium IDE.

Подтверждения

Шаг 4) Замените команду «chooseOkOnNextConfirmation» на «chooseCancelOnNextConfirmation» и снова выполните скрипт.

Подтверждения

множественный Windows

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

Мы используем команду selectWindow для переключения между windows.

Мы будем использовать ссылку http://jsbin.com/ocinaj/1 с названием «Первое окно». Гиперссылка «здесь», найденная на этой странице, откроет Facebook в новом окне, после чего мы проинструктируем Selenium IDE сделать следующее:wing:

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

множественный Windows

Шаг 1) Установите базовый URL-адрес http://jsbin.com.

Шаг 2) Создайте скрипт, как показано ниже.

множественный Windows

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

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

множественный Windows

Всегда помните, что установка для цели selectWindow значения «null» автоматически выберет родительское окно (в данном случае окно, в котором находится элемент «link=here»).

Примечание: Facebook изменил название с момента создания Учебников. Пожалуйста, измените код соответствующим образом

Итоги

  • Команда «store» (и все ее варианты) используются для хранения переменных в Selenium IDE.
  • Команда «echo» используется для печати строкового значения или переменной.
  • Переменные заключаются в ${…} при печати или использовании в элементах.
  • Selenium IDE автоматически нажимает кнопку ОК при обработке предупреждений
  • При обработке диалоговых окон подтверждения вы можете указать Selenium IDE, какую опцию использовать:
    • ChooseOkOnNextConfirmation/chooseOkOnNextConfirmationAndWait
    • выберитеОтменаНаСледующемПодтверждение
  • Заголовки окон используются в качестве локаторов при переключении между браузерами. windows.
  • При использовании команды «selectWindow» установка для параметра Target значения «null» автоматически предписывает Selenium IDE выбрать родительское окно.