Съхраняване на променливи, ехо, предупреждение, обработка на изскачащи прозорци Selenium IDE

В този урок ще научим команди за съхранение, команди за ехо, предупреждения и работа с изскачащи прозорци.

Selenium IDE променливи

Магазин

За да съхранявате променливи в Selenium IDE, използваме командата “store”. Илюстрацията по-долу съхранява стойността „tutorial“ към променлива с име „myVariable“.

Selenium IDE променливи

За достъп до променливата просто я оградете в символ ${ … }. Например, за да въведете стойността на „myVariable“ в текстовото поле „userName“ на Mercury Обиколки, въведете ${myVariable} в полето Стойност.

Selenium IDE променливи

StoreElementPresent

Тази команда съхранява „true“ или „false“ в зависимост от наличието на посочения елемент. Скриптът по-долу съхранява булевата стойност „true“ на „var1“ и „false“ на „var2“. За да проверим, ще използваме командата „echo“, за да покажем стойностите на var1 и var2. Основният URL адрес за илюстрацията по-долу беше зададен на Mercury Начална страница на Tours.

StoreElementPresent

StoreText

Тази команда се използва за съхраняване на вътрешния текст на елемент върху променлива. Илюстрацията по-долу съхранява вътрешния текст на маркера във Facebook върху променлива с име „textVar“.

StoreText

Тъй като това е единственият елемент в страницата, безопасно е да използваме „css=h1“ като наша цел. Изображението по-долу показва това Selenium IDE успя да запази низа „Регистрация“ в променливата „textVar“, като отпечата правилно стойността му.

StoreText

Сигнали, изскачащи прозорци и множество Windows

Сигналите са може би най-простата форма на изскачащи прозорци. Най-често срещаните Selenium IDE командите, използвани за обработка на предупреждения, са следните:

Сигнали Можете да използвате

assertAlert

assertNotAlert

извлича съобщението на предупреждението и го утвърждава към низова стойност, която сте посочили

assertAlertPresent

assertAlertNotPresent

потвърждава дали има предупреждение или не
storeAlert извлича предупредителното съобщение и го съхранява в променлива, която ще посочите
storeAlertPresent връща TRUE, ако има предупреждение; FALSE, ако е друго

verifyAlert

verifyNotAlert

извлича съобщението на предупреждението и проверява дали е равно на стойността на низа, която сте посочили

verifyAlertPresent

verifyAlertNotPresent

проверява дали има предупреждение или не

Запомнете тези две неща, когато работите с предупреждения:

  • Selenium IDE автоматично ще щракне върху бутона OK в прозореца за предупреждение и така няма да можете да видите действителния сигнал.
  • Selenium IDE няма да може да обработва предупреждения, които са във функцията onload() на страницата. Той ще може да обработва само сигнали, които са генерирани след пълно зареждане на страницата.

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

Стъпка 1) In Selenium IDE, задайте основния URL адрес на http://jsbin.com. & пълният url е: http://jsbin.com/usidix

Стъпка 2) Създайте скрипта, както е показано по-долу.

Сигнали, изскачащи прозорци и множество Windows

Стъпка 3) Изпълнете скрипта и не очаквайте, че ще можете да видите действителния сигнал.

Сигнали, изскачащи прозорци и множество Windows

потвърждения

Потвържденията са изскачащи прозорци, които ви дават бутон OK и бутон ОТКАЗ, за разлика от предупрежденията, които ви дават само бутона OK. Командите, които можете да използвате при обработка на потвърждения, са подобни на тези при обработка на предупреждения.

  • assertConfirmation/assertNotConfirmation
  • assertConfirmationPresent/assertConfirmationNotPresent
  • storeConfirmation
  • storeConfirmationPresent
  • verifyConfirmation/verifyNotConfirmation
  • verifyConfirmationPresent/verifyConfirmationNotPresent

Това обаче са допълнителните команди, които трябва да използвате, за да инструктирате Selenium коя опция да изберете, дали бутона OK или бутона CANCEL.

  • изберетеOkOnNextConfirmation/chooseOkOnNextConfirmationAndWait
  • изберете CancelOnNextConfirmation

Трябва да използвате тези команди преди команда, която задейства полето за потвърждение, така че Selenium IDE ще знае предварително коя опция да избере. Отново няма да можете да видите действителното поле за потвърждение по време на изпълнение на скрипта.

Нека тестваме уеб страница, която има бутон, който е кодиран да показва дали потребителят е натиснал бутона OK или бутона CANCEL.

Стъпка 1) In Selenium IDE, задайте основния URL адрес на http://jsbin.com

& пълният url е: http://jsbin.com/enifaf

Стъпка 2) Създайте скрипта, както е показано по-долу. Този път първо ще натиснем бутона OK.

потвърждения

Стъпка 3) Изпълнете скрипта и забележете, че не виждате действителното потвърждение, но уеб страницата успя да посочи кой бутон Selenium IDE беше натиснал.

потвърждения

Стъпка 4) Заменете командата „chooseOkOnNextConfirmation“ с „chooseCancelOnNextConfirmation“ и изпълнете скрипта отново.

потвърждения

Многократни Windows

Ако се случи да щракнете върху връзка, която стартира отделен прозорец, първо трябва да инструктирате Selenium IDE първо да изберете този прозорец, преди да имате достъп до елементите в него. За да направите това, ще използвате заглавието на прозореца като негов локатор.

Използваме командата selectWindow при превключване между прозорци.

Ще използваме връзка http://jsbin.com/ocinaj/1, чието заглавие е „Първи прозорец“. Хипервръзката „тук“, намерена на тази страница, ще отвори Facebook в нов прозорец, след което ще инструктираме Selenium IDE да направи следното:

  • Прехвърлете контрола от родителския прозорец към новостартиралия прозорец на Facebook, като използвате командата „selectWindow“ и нейното заглавие като локатор
  • Проверете заглавието на новия прозорец
  • Изберете обратно оригиналния прозорец, като използвате командата „selectWindow“ и „null“ като цел.
  • Проверете заглавието на текущо избрания прозорец

Многократни Windows

Стъпка 1) Задайте основния URL адрес на http://jsbin.com.

Стъпка 2) Създайте скрипта, както е показано по-долу.

Многократни Windows

Нуждаем се от командата „пауза“, за да изчакаме новостартирания прозорец да се зареди, преди да можем да получим достъп до заглавието му.

Стъпка 3) Изпълнете скрипта. Забележете, че Тестов случай премина, което означава, че успяхме да превключваме между прозорците и да проверим заглавията им успешно.

Многократни Windows

Винаги помнете, че задаване на целта на selectWindow на „null“ автоматично ще избере родителския прозорец (в този случай прозорецът, където се намира елементът „link=here“)

Забележка: Facebook промени заглавието след създаването на уроци. Моля, променете съответно кода

Oбобщение

  • Командата “store” (и всички нейни варианти) се използват за съхраняване на променливи Selenium IDE
  • Командата “echo” се използва за отпечатване на стойност на низ или променлива
  • Променливите са затворени в ${…}, когато се отпечатват или използват върху елементи
  • Selenium IDE автоматично натиска бутона OK, когато обработва предупреждения
  • Когато работите с диалогови прозорци за потвърждение, можете да инструктирате Selenium IDE коя опция да използвате:
    • изберетеOkOnNextConfirmation/chooseOkOnNextConfirmationAndWait
    • изберете CancelOnNextConfirmation
  • Заглавията на прозорците се използват като локатори при превключване между прозорците на браузъра.
  • Когато използвате командата “selectWindow”, настройката на Target към „null“ автоматично ще насочи Selenium IDE за избор на родителския прозорец.