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

Съдържание:

Anonim

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

Съхраняване на променливи и командата Echo

Съхранявайте

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

За достъп до променливата, просто я затворете със символ $ {…}. Например, за да въведете стойността на "myVariable" в текстовото поле "userName" на Mercury Tours, въведете $ {myVariable} в полето Value.

StoreElementPresent

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

StoreText

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

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

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

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

assertAlert assertNotAlert извлича съобщението на предупреждението и го утвърждава до низова стойност, която сте посочили
assertAlertPresent assertAlertNotPresent твърди дали е налице предупреждение
storeAlert извлича съобщението за предупреждение и го съхранява в променлива, която ще посочите
storeAlertPresent връща TRUE, ако има сигнал; FALSE, ако е друго
verifyAlert verifyNotAlert извлича съобщението на предупреждението и проверява дали то е равно на стойността на низа, която сте посочили
verifyAlertPresent verifyAlertNotPresent проверява дали има предупреждение или не

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

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

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

Стъпка 1. В IDE на Selenium задайте базовия 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
  • selectCancelOnNextConfirmation

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

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

Стъпка 1. В 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" като негова цел.
  • Проверете заглавието на текущо избрания прозорец

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

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

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

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

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

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

Обобщение

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