Съхраняване на променливи, ехо, предупреждение, обработка на изскачащи прозорци Selenium IDE
В този урок ще научим команди за съхранение, команди за ехо, предупреждения и работа с изскачащи прозорци.
Selenium IDE променливи
Магазин
За да съхранявате променливи в Selenium IDE, използваме командата “store”. Илюстрацията по-долу съхранява стойността „tutorial“ към променлива с име „myVariable“.
За достъп до променливата просто я оградете в символ ${ … }. Например, за да въведете стойността на „myVariable“ в текстовото поле „userName“ на Mercury Обиколки, въведете ${myVariable} в полето Стойност.
StoreElementPresent
Тази команда съхранява „true“ или „false“ в зависимост от наличието на посочения елемент. Скриптът по-долу съхранява булевата стойност „true“ на „var1“ и „false“ на „var2“. За да проверим, ще използваме командата „echo“, за да покажем стойностите на var1 и var2. Основният URL адрес за илюстрацията по-долу беше зададен на Mercury Начална страница на Tours.
StoreText
Тази команда се използва за съхраняване на вътрешния текст на елемент върху променлива. Илюстрацията по-долу съхранява вътрешния текст на маркера във Facebook върху променлива с име „textVar“.
Тъй като това е единственият елемент в страницата, безопасно е да използваме „css=h1“ като наша цел. Изображението по-долу показва това Selenium IDE успя да запази низа „Регистрация“ в променливата „textVar“, като отпечата правилно стойността му.
Сигнали, изскачащи прозорци и множество 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) Създайте скрипта, както е показано по-долу.
Стъпка 3) Изпълнете скрипта и не очаквайте, че ще можете да видите действителния сигнал.
потвърждения
Потвържденията са изскачащи прозорци, които ви дават бутон 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“ като цел.
- Проверете заглавието на текущо избрания прозорец
Стъпка 1) Задайте основния URL адрес на http://jsbin.com.
Стъпка 2) Създайте скрипта, както е показано по-долу.
Нуждаем се от командата „пауза“, за да изчакаме новостартирания прозорец да се зареди, преди да можем да получим достъп до заглавието му.
Стъпка 3) Изпълнете скрипта. Забележете, че Тестов случай премина, което означава, че успяхме да превключваме между прозорците и да проверим заглавията им успешно.
Винаги помнете, че задаване на целта на selectWindow на „null“ автоматично ще избере родителския прозорец (в този случай прозорецът, където се намира елементът „link=here“)
Забележка: Facebook промени заглавието след създаването на уроци. Моля, променете съответно кода
Oбобщение
- Командата “store” (и всички нейни варианти) се използват за съхраняване на променливи Selenium IDE
- Командата “echo” се използва за отпечатване на стойност на низ или променлива
- Променливите са затворени в ${…}, когато се отпечатват или използват върху елементи
- Selenium IDE автоматично натиска бутона OK, когато обработва предупреждения
-
Когато работите с диалогови прозорци за потвърждение, можете да инструктирате Selenium IDE коя опция да използвате:
- изберетеOkOnNextConfirmation/chooseOkOnNextConfirmationAndWait
- изберете CancelOnNextConfirmation
- Заглавията на прозорците се използват като локатори при превключване между прозорците на браузъра.
- Когато използвате командата “selectWindow”, настройката на Target към „null“ автоматично ще насочи Selenium IDE за избор на родителския прозорец.