Твърдение и проверка в Selenium IDE
⚡ Умно обобщение
Selenium IDE със скриптове и команди позволява на тестерите да записват, редактират и възпроизвеждат действия в браузъра, използвайки Selenese — лекия команден език на IDE. Тази статия разглежда записването на скрипт, ръчното писане на Selenese, избора между Assert и Verify и отстраняването на грешки с точки на прекъсване.

Ще използваме Mercury Уебсайтът на Tours като нашето уеб приложение в процес на тестване. Това е онлайн система за резервации на полети, която съдържа всички елементи, от които се нуждаем за този урок. Неговата основа URL is https://demo.guru99.com/test/newtours/.
Нека сега създадем нашия първи тестов скрипт в Selenium IDE, използвайки най-разпространения метод — чрез запис. След това ще изпълним скрипта, използвайки функцията за възпроизвеждане.
Забележка: Този урок използва класическия Firefox-само Selenium IDE 1.x с Firebug за въвеждане на основите на Selenese. Firebug беше пенсиониран през Firefox 57 и съвременният Selenium IDE вече е Chrome / Firefox / Разширение за браузър Edge с различен потребителски интерфейс. Концепциите, типовете команди и функциите за отстраняване на грешки на Selenese, посочени по-долу, все още се отнасят директно за новата IDE.
Създайте скрипт чрез запис
Стъпка 1)
- Стартиране Firefox намлява Selenium SDI.
- Въведете стойността за нашата база URL:
https://demo.guru99.com/test/newtours/. - Toggle бутонът Запис е включен (ако не е включен по подразбиране).
Стъпка 2) In Firefox, отидете до https://demo.guru99.com/test/newtours/. Firefox трябва да се озове на страница, подобна на тази по-долу.
Стъпка 3)
- Щракнете с десния бутон върху всяко празно място в страницата — например върху Mercury Логото на Tours в горния ляв ъгъл. Това показва Selenium Контекстното меню на IDE. Не щракнете върху обекти или изображения с хипервръзки.
- Изберете Показване на наличните команди опция.
- Изберете
assertTitle exact: Welcome: Mercury ToursТази команда проверява дали заглавието на страницата е правилно.
Стъпка 4)
- в потребителско име текстово поле на Mercury Турове, въведете невалидно потребителско име
invalidUNN. - в Парола текстовото поле, въведете невалидната парола
invalidPWD.
Стъпка 5) Щракнете върху Впиши се бутон. Firefox трябва да се озове на страницата, показана по-долу.
Стъпка 6) TogglИзключете бутона за запис, за да спрете записа. Вашият скрипт вече трябва да прилича на показания по-долу.
Стъпка 7) Сега запазете записания тестов скрипт. В досие меню, изберете Запазване на тестовия случайили натиснете Ctrl+S.
Стъпка 8)
- Изберете целева папка, след което я наименувайте тестов случай Невалиден вход.
- Кликнете Спестявания.
Стъпка 9) Обърнете внимание, че файлът е запазен като HTML.
Стъпка 10) Назад към Selenium IDE и щракнете върху Възпроизвеждане бутон за изпълнение на целия скрипт. Selenium IDE преиграва всяко действие вярно.
Въведение в Selenium Команди – Selenese
Selenese е скриптовият език, който управлява Selenium IDE. Правилата са прости:
- Всяка команда на Selenese приема до два параметъра — a цел и стойност.
- Параметрите не винаги са задължителни. Броят им зависи от командата.
Видове команди
Селенският език групира командите в три категории. Всяка от тях има различна роля в скрипта.
| Действия | Команди, които директно взаимодействат с елементи на страницата. Пример: click взаимодейства с елемента, върху който щраквате; type въвежда стойност в текстово поле и текстовото поле я връща обратно, осигурявайки двупосочно взаимодействие. |
| Аксесоари | Команди, които съхраняват стойност в променлива. Пример: storeTitle само прочита заглавието на страницата и го запазва — не променя нищо на страницата. |
| Твърдения | Команди, които проверяват условие. Selenese предлага три вида твърдения: твърдя спира теста при неуспех, Проверете регистрира неуспеха и продължава, и Изчакай паузира, докато условието стане истина (времето за изчакване по подразбиране е 30 секунди, може да се конфигурира в Опции > Общи). |
Утвърждаване срещу проверка в Selenium
Диаграмите по-долу сравняват поведението по време на изпълнение на команда Assert спрямо команда Verify, когато проверката е неуспешна по време на теста.
Общи команди
| Команда | Брой параметри | Descriptйон |
|---|---|---|
| отворен | 0-2 | Отваря страница с помощта на URL. |
| кликване / кликване и чакане | 1 | Кликва върху определен елемент. |
| тип / typeKeys | 2 | Въвежда поредица от знаци. |
| verifyTitle / assertTitle | 1 | Сравнява действителното заглавие на страницата с очаквана стойност. |
| verifyTextPresent | 1 | Проверява дали даден текст е намерен в страницата. |
| verifyElementPresent | 1 | Проверява наличието на специфичен елемент. |
| verifyTable | 2 | Сравнява съдържанието на таблица с очакваните стойности. |
| waitForPageToLoad | 1 | Спира изпълнението, докато страницата не се зареди напълно. |
| waitForElementPresent | 1 | Спира изпълнението, докато се появи посоченият елемент. |
Създайте скрипт ръчно с Firebug
Нека сега пресъздадем същия тестов случай ръчно чрез typing командите. Това ръководство използва Firebug за проверка на локаторите на елементи. (В съвременния Selenium IDE, използвайте вградените в браузъра DevTools вместо Firebug.)
Стъпка 1) отворено Firefox намлява Selenium IDE. Въведете базата URL https://demo.guru99.com/test/newtours/Бутонът за запис трябва да е ИЗКЛЮЧЕН.
Стъпка 2) Щракнете върху най-горния празен ред в редактора.
Тип open в текстовото поле „Команда“ и натиснете Enter.
Стъпка 3) Навигация Firefox към основата URL и активирайте Firebug. В IDE редактора изберете реда под open команда и тип assertTitleИзползвайте предложенията за автоматично довършване за точност.
Стъпка 4) В Firebug разгънете <head> етикет, за да разкриете <title>Щракнете върху стойността на заглавието (Добре дошли: Mercury Tours) и го поставете в Target поле в редактора.
Стъпка 5) Щракнете върху третия празен ред в редактора и въведете type в полето „Команда“. Във Firebug щракнете върху Огледайте бутон.
Щракнете върху текстовото поле „Потребителско име“. Firebug автоматично показва съответстващия HTML елемент.
Стъпка 6) Текстовото поле „Потребителско име“ няма идентификатор, но има атрибут NAME. Копирайте стойността на NAME и я поставете в Target поле на Selenium SDI.
И все пак в Target поле, префикс userName с name= so Selenium IDE е насочен към елемента, чийто атрибут NAME е userName.
Тип invalidUN в полето „Стойност“. Вашият скрипт вече има третата си команда. Selenium IDE е чувствителна към малки и големи букви, така че въвеждайте стойностите и имената на атрибутите точно както се показват в приложението.
Стъпка 7) Добавете четвърта команда от typing type в полето „Команда“. Използвайте Firebug-а Огледайте бутон в текстовото поле „Парола“.
Поставете атрибута NAME (password) в Target поле, префикс с name=и задайте стойността на invalidPW.
Стъпка 8) Добавете петата команда чрез typing clickAndWait в полето „Команда“. Използвайте Firebug-а Огледайте върху бутона „Вход“.
Поставете стойността NAME (login) в Target поле с name= префикс.
Стъпка 9) Запазете тестовия случай както преди.
Използване на бутона за търсене
- Какво бутон в Selenium IDE потвърждава, че въведената стойност в Target действително съвпада с елемент от потребителския интерфейс на страницата.
Отворете Невалиден вход тестовия случай от предишния раздел и щракнете върху която и да е команда с Target запис — например, третата команда.
Кликнете КаквоТекстовото поле „Потребителско име“ на Mercury Страницата с обиколки се маркира за кратко.
Акцентът потвърждава, че Selenium IDE разреши локатора правилно. Ако е маркиран грешен елемент (или няма такъв), локаторът в скрипта трябва да бъде коригиран.
Изпълнете команда
Командата за изпълнение изпълнява един ред от скрипта, без да изпълнява целия тестов случай. Щракнете върху линията, която искате да прокарате, и изберете Действия > Изпълнете тази команда от менюто или натиснете X на клавиатурата.
Стъпка 1) Уверете се, че браузърът е включен Mercury Начална страница на Tours. Кликнете върху линията, която искате да прокарате – например type | userName | invalidUN.
Стъпка 2) Натискане X на клавиатурата.
Стъпка 3) Текстовото поле за потребителско име на страницата е попълнено с invalidUN.
Изпълнението на команди по този начин зависи от страницата, която Firefox се показва в момента. Изпълнение на същата команда на GoogleНачалната страница на „' ще се провали, защото няма поле с име userName там.
Начална точка
Началната точка подсказва Selenium IDE от кой ред да започне изпълнението. Клавишната комбинация е S.
В горния пример възпроизвеждането започва на третия ред (type | password | invalidPW). Тестов скрипт може да има само една начална точка. Подобно на Execute Command, началната точка зависи от текущо показаната страница и се проваля, ако страницата е грешна.
Точки на прекъсване
Точките на прекъсване показват Selenium IDE за автоматично паузиране на теста на даден ред. Клавишната комбинация е B.
Жълтият акцент показва стъпката на пауза. Тестов случай може да има множество точки на прекъсване.
Стъпка
- Стъпка Командата изпълнява следващия ред след паузиран тестов случай. Използвайте я заедно с точки на прекъсване, за да преминете през скрипта команда по команда.
Преди да щракнете върху „Стъпка“. Тестовият случай е поставен на пауза на реда clickAndWait | login. |
|
След като щракнете върху „Стъпка“. - clickAndWait | login командата се изпълнява и изпълнението ѝ се паузира при следващата команда (verifyTitle | Sign-on: Mercury Tours). Следващият ред прави пауза дори без точка на прекъсване — това е целта на Step. |
Важни неща, които трябва да имате предвид, когато използвате други формати в изглед на източник
Selenium IDE 1.x работи надеждно само с HTML формат — другите формати са все още експериментални. Създаването или редактирането на тестове в изглед, който не е в HTML, не се препоръчва. Известните проблеми от версия 1.9.1 са:
- Не можете да използвате „Възпроизвеждане“ или да превключите обратно към табличен изглед, без да се върнете към HTML.
- Най-безопасният начин за добавяне на команди в Source View е чрез записването им.
- Ръчните редакции в Изглед на изходния код се губят, когато превключите към друг формат.
- Можете да запазите тестов случай в Source View, но Selenium IDE може да не успее да го отвори отново.
Препоръчителният начин за конвертиране на тестове на Selenese в други езици е Файл > Експортиране на тестов случай като… менюто, а не изгледът на изходния код.

.png)
.png)
.png)














.png)










.png)
.png)






