Сохранение переменных, Echo, Alert, обработка всплывающих окон в Selenium IDE
В этом уроке мы изучим команды Store, команды Echo, оповещения и обработку всплывающих окон.
Selenium Переменные IDE
Магазин
Чтобы хранить переменные в Selenium IDE, используем команду «store». На рисунке ниже значение «tutorial» сохраняется в переменной с именем «myVariable».
Чтобы получить доступ к переменной, просто заключите ее в символ ${ … }. Например, чтобы ввести значение «myVariable» в текстовое поле «userName» Mercury Tours введите ${myVariable} в поле Значение.
StoreElementPresent
Эта команда сохраняет значение «истина» или «ложь» в зависимости от наличия указанного элемента. В приведенном ниже сценарии логическое значение «истина» сохраняется в «var1» и «false» в «var2». Для проверки мы будем использовать команду «echo» для отображения значений var1 и var2. Базовый URL-адрес для иллюстрации ниже был установлен на Mercury Домашняя страница туров.
Магазинтекст
Эта команда используется для сохранения внутреннего текста элемента в переменной. На рисунке ниже внутренний текст тега в Facebook сохраняется в переменной с именем textVar.
Поскольку это единственный элемент на странице, в качестве цели можно безопасно использовать «css=h1». На изображении ниже показано, что Selenium IDE удалось сохранить строку «Sign Up» в переменной «textVar», правильно напечатав ее значение.
Оповещения, всплывающие окна и множественные Windows
Оповещения, вероятно, являются самой простой формой всплывающих окон. Наиболее распространенные Selenium Для обработки оповещений используются следующие команды IDE:
Оповещения | Пользы |
---|---|
утверждатьAlert утверждатьNotAlert |
извлекает сообщение оповещения и присваивает ему указанное вами строковое значение |
AssertAlertPresent AssertAlertNotPresent |
утверждает, присутствует ли предупреждение или нет |
storeAlert | извлекает предупреждающее сообщение и сохраняет его в указанной вами переменной |
магазинAlertPresent | возвращает TRUE, если присутствует предупреждение; ЛОЖЬ, если иначе |
проверить оповещение проверитьNotAlert |
извлекает сообщение оповещения и проверяет, соответствует ли оно указанному вами строковому значению. |
проверитьAlertPresent проверитьAlertNotPresent |
проверяет, присутствует ли предупреждение или нет |
Помните эти две вещи при работе с оповещениями:
- Selenium IDE автоматически нажмет кнопку «ОК» в окне предупреждения, и вы не сможете увидеть фактическое предупреждение.
- Selenium IDE не сможет обрабатывать оповещения, находящиеся в функции onload() страницы. Он сможет обрабатывать только оповещения, которые генерируются после полной загрузки страницы.
В этом примере мы будем использовать команду storeAlert, чтобы показать, что, хотя Selenium IDE не отображала фактическое предупреждение, но все же смогла получить его сообщение.
Шаг 1) In Selenium IDE, установите базовый URL-адрес http://jsbin.com. и полный URL: http://jsbin.com/usidix
Шаг 2) Создайте скрипт, как показано ниже.
Шаг 3) Выполните сценарий и не ждите, что вы сможете увидеть фактическое предупреждение.
Подтверждения
Подтверждения — это всплывающие окна, которые дают вам кнопки «ОК» и «ОТМЕНА», в отличие от предупреждений, которые дают вам только кнопку «ОК». Команды, которые вы можете использовать для обработки подтверждений, аналогичны командам для обработки предупреждений.
- AssertConfirmation/assertNotConfirmation
- AssertConfirmationPresent/assertConfirmationNotPresent
- storeПодтверждение
- магазинПодтверждениеПодарок
- верифицироватьконфирматион/верифинотконфирматион
- verifyConfirmationPresent/verifyConfirmationNotPresent
Однако это дополнительные команды, которые вам необходимо использовать для указания Selenium какой вариант выбрать: кнопку ОК или кнопку ОТМЕНА.
- ChooseOkOnNextConfirmation/chooseOkOnNextConfirmationAndWait
- выберитеОтменаНаСледующемПодтверждение
Эти команды следует использовать перед командой, которая вызывает окно подтверждения, чтобы Selenium IDE заранее будет знать, какой вариант выбрать. Опять же, вы не сможете увидеть фактическое окно подтверждения во время выполнения скрипта.
Давайте протестируем веб-страницу, на которой есть кнопка, закодированная так, чтобы показать, нажал ли пользователь кнопку «ОК» или «ОТМЕНА».
Шаг 1) In Selenium IDE, установите базовый URL-адрес http://jsbin.com
и полный URL: http://jsbin.com/enifaf
Шаг 2) Создайте скрипт, как показано ниже. На этот раз мы сначала нажмем кнопку ОК.
Шаг 3) Выполните сценарий и обратите внимание, что вы не видите фактического подтверждения, но веб-страница смогла указать, какая кнопка Selenium IDE нажала.
Шаг 4) Замените команду «chooseOkOnNextConfirmation» на «chooseCancelOnNextConfirmation» и снова выполните скрипт.
Многочисленные Windows
Если вы случайно нажмете на ссылку, которая запускает отдельное окно, вы должны сначала проинструктировать 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
- выберитеОтменаНаСледующемПодтверждение
- Заголовки окон используются в качестве локаторов при переключении между окнами браузера.
- При использовании команды «selectWindow» установка Target на «ноль» автоматически направит Selenium IDE для выбора родительского окна.