Твърдение и проверка в Selenium IDE

⚡ Умно обобщение

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

  • 🎬 Запис първи: Selenium IDE автоматично записва кликвания, входни данни и твърдения, докато работите с браузъра.
  • 🧩 Селенски език: Всяка команда има име на команда, опционална цел и опционална стойност — никога повече от два параметъра.
  • 🛑 Твърдение срещу проверка: Assert спира теста при неуспех; Verify регистрира неуспеха и продължава със следващата стъпка.
  • 🔍 Три вида команди: Действията взаимодействат със страницата, аксесорите четат състоянието в променливите, а твърденията проверяват условията.
  • ???? Помощни средства за отстраняване на грешки: Използвайте „Изпълнение на команда“, „Начална точка“, „Точки на прекъсване“ и „Стъпка“, за да проверите или изпълните отново една команда в даден момент.
  • 🤖 AI Boost: Инструментите за тестване на изкуствен интелект генерират автоматично Selenese, предлагат надеждни локатори и конвертират IDE скриптове в Selenium Код на WebDriver.

Как да разбиете (хакнете) парола?

Ще използваме 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 бутонът Запис е включен (ако не е включен по подразбиране).

Selenium IDE с база URL Бутонът „Настройка“ и „Запис“ са включени

Стъпка 2) In Firefox, отидете до https://demo.guru99.com/test/newtours/. Firefox трябва да се озове на страница, подобна на тази по-долу.

Mercury Начална страница на Tours на Firefox

Стъпка 3)

  • Щракнете с десния бутон върху всяко празно място в страницата — например върху Mercury Логото на Tours в горния ляв ъгъл. Това показва Selenium Контекстното меню на IDE. Не щракнете върху обекти или изображения с хипервръзки.
  • Изберете Показване на наличните команди опция.
  • Изберете assertTitle exact: Welcome: Mercury ToursТази команда проверява дали заглавието на страницата е правилно.

Selenium Контекстното меню на IDE с „Показване на наличните команди“

Selenium Добавен е IDE редактор, показващ командата assertTitle

Стъпка 4)

  • в потребителско име текстово поле на Mercury Турове, въведете невалидно потребителско име invalidUNN.
  • в Парола текстовото поле, въведете невалидната парола invalidPWD.

Въведено е невалидно потребителско име Mercury Формуляр за обиколки

Въведена е невалидна парола Mercury Формуляр за обиколки

Стъпка 5) Щракнете върху Впиши се бутон. Firefox трябва да се озове на страницата, показана по-долу.

Mercury Страница за неуспешно влизане в Tours

Стъпка 6) TogglИзключете бутона за запис, за да спрете записа. Вашият скрипт вече трябва да прилича на показания по-долу.

Selenium IDE записан скрипт след спиранеping рекордерът

Стъпка 7) Сега запазете записания тестов скрипт. В досие меню, изберете Запазване на тестовия случайили натиснете Ctrl+S.

Опцията за запазване на тестовия случай в Selenium Меню „IDE файл“

Стъпка 8)

  • Изберете целева папка, след което я наименувайте тестов случай Невалиден вход.
  • Кликнете Спестявания.

Запазване на диалоговия прозорец, наименуващ Selenium Тестов случай на IDE Invalid_login

Стъпка 9) Обърнете внимание, че файлът е запазен като HTML.

Запазен файл с тестов случай с HTML разширение

Стъпка 10) Назад към Selenium IDE и щракнете върху Възпроизвеждане бутон за изпълнение на целия скрипт. Selenium IDE преиграва всяко действие вярно.

Selenium Бутон за възпроизвеждане в IDE, изпълняващ записания скрипт

Въведение в Selenium Команди – Selenese

Selenese е скриптовият език, който управлява Selenium IDE. Правилата са прости:

  • Всяка команда на Selenese приема до два параметъра — a цел и стойност.
  • Параметрите не винаги са задължителни. Броят им зависи от командата.

Видове команди

Селенският език групира командите в три категории. Всяка от тях има различна роля в скрипта.

Действия Команди, които директно взаимодействат с елементи на страницата. Пример: click взаимодейства с елемента, върху който щраквате; type въвежда стойност в текстово поле и текстовото поле я връща обратно, осигурявайки двупосочно взаимодействие.
Аксесоари Команди, които съхраняват стойност в променлива. Пример: storeTitle само прочита заглавието на страницата и го запазва — не променя нищо на страницата.
Твърдения Команди, които проверяват условие. Selenese предлага три вида твърдения: твърдя спира теста при неуспех, Проверете регистрира неуспеха и продължава, и Изчакай паузира, докато условието стане истина (времето за изчакване по подразбиране е 30 секунди, може да се конфигурира в Опции > Общи).

Утвърждаване срещу проверка в Selenium

Диаграмите по-долу сравняват поведението по време на изпълнение на команда Assert спрямо команда Verify, когато проверката е неуспешна по време на теста.

Спиране на поведението на командата Assertping тестът за неуспех

Проверете поведението на командата, като продължите теста след регистриран неуспех

Общи команди

Команда Брой параметри 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/Бутонът за запис трябва да е ИЗКЛЮЧЕН.

Selenium Превключвателят за IDE запис е в изключено състояние

Стъпка 2) Щракнете върху най-горния празен ред в редактора.

Избиране на първия празен ред в Selenium IDE редактор

Тип open в текстовото поле „Команда“ и натиснете Enter.

Командата за отваряне е въведена в Selenium Командно поле на IDE

Стъпка 3) Навигация Firefox към основата URL и активирайте Firebug. В IDE редактора изберете реда под open команда и тип assertTitleИзползвайте предложенията за автоматично довършване за точност.

Предложения за автоматично довършване за assertTitle в Selenium IDE

Стъпка 4) В Firebug разгънете <head> етикет, за да разкриете <title>Щракнете върху стойността на заглавието (Добре дошли: Mercury Tours) и го поставете в Target поле в редактора.

Копиране на заглавието на страницата от Firebug в целевото поле на IDE

Стъпка 5) Щракнете върху третия празен ред в редактора и въведете type в полето „Команда“. Във Firebug щракнете върху Огледайте бутон.

Въведете командата, която се добавя Selenium IDE редактор

Щракнете върху текстовото поле „Потребителско име“. Firebug автоматично показва съответстващия HTML елемент.

Firebug проверява полето „Потребителско име“ на Mercury Tours

Стъпка 6) Текстовото поле „Потребителско име“ няма идентификатор, но има атрибут NAME. Копирайте стойността на NAME и я поставете в Target поле на Selenium SDI.

Копиране на атрибута NAME на полето за потребителско име

И все пак в Target поле, префикс userName с name= so Selenium IDE е насочен към елемента, чийто атрибут NAME е userName.

Selenium Целево поле в IDE с локатор name=userName

Тип invalidUN в полето „Стойност“. Вашият скрипт вече има третата си команда. Selenium IDE е чувствителна към малки и големи букви, така че въвеждайте стойностите и имената на атрибутите точно както се показват в приложението.

Въведете команда, насочена към name=userName със стойност invalidUN

Стъпка 7) Добавете четвърта команда от typing type в полето „Команда“. Използвайте Firebug-а Огледайте бутон в текстовото поле „Парола“.

Firebug проверява полето за парола

Поставете атрибута NAME (password) в Target поле, префикс с name=и задайте стойността на invalidPW.

Selenium IDE скрипт след добавяне на командата за въвеждане на парола

Стъпка 8) Добавете петата команда чрез typing clickAndWait в полето „Команда“. Използвайте Firebug-а Огледайте върху бутона „Вход“.

Firebug проверява бутона за вход

Поставете стойността NAME (login) в Target поле с name= префикс.

Окончателно ръководство Selenium IDE скрипт с пет команди

Стъпка 9) Запазете тестовия случай както преди.

Използване на бутона за търсене

- Какво бутон в Selenium IDE потвърждава, че въведената стойност в Target действително съвпада с елемент от потребителския интерфейс на страницата.

Отворете Невалиден вход тестовия случай от предишния раздел и щракнете върху която и да е команда с Target запис — например, третата команда.

Бутонът „Намери“ до Target поле в Selenium IDE

Кликнете КаквоТекстовото поле „Потребителско име“ на Mercury Страницата с обиколки се маркира за кратко.

Полето за потребителско име е маркирано в Firefox след щракване върху „Намери“

Акцентът потвърждава, че Selenium IDE разреши локатора правилно. Ако е маркиран грешен елемент (или няма такъв), локаторът в скрипта трябва да бъде коригиран.

Изпълнете команда

Командата за изпълнение изпълнява един ред от скрипта, без да изпълнява целия тестов случай. Щракнете върху линията, която искате да прокарате, и изберете Действия > Изпълнете тази команда от менюто или натиснете X на клавиатурата.

Стъпка 1) Уверете се, че браузърът е включен Mercury Начална страница на Tours. Кликнете върху линията, която искате да прокарате – например type | userName | invalidUN.

Въведете командата, избрана за изпълнение в Selenium IDE

Стъпка 2) Натискане X на клавиатурата.

Стъпка 3) Текстовото поле за потребителско име на страницата е попълнено с invalidUN.

Полето за потребителско име се попълва след изпълнение на командата

Изпълнението на команди по този начин зависи от страницата, която Firefox се показва в момента. Изпълнение на същата команда на GoogleНачалната страница на „' ще се провали, защото няма поле с име userName там.

Начална точка

Началната точка подсказва Selenium IDE от кой ред да започне изпълнението. Клавишната комбинация е S.

Начална точка, зададена на Selenium Ред от IDE скрипт

В горния пример възпроизвеждането започва на третия ред (type | password | invalidPW). Тестов скрипт може да има само една начална точка. Подобно на Execute Command, началната точка зависи от текущо показаната страница и се проваля, ако страницата е грешна.

Точки на прекъсване

Точките на прекъсване показват Selenium IDE за автоматично паузиране на теста на даден ред. Клавишната комбинация е B.

Индикатор за точка на прекъсване на Selenium Ред от IDE скрипт

Жълтият акцент показва стъпката на пауза. Тестов случай може да има множество точки на прекъсване.

Стъпка

- Стъпка Командата изпълнява следващия ред след паузиран тестов случай. Използвайте я заедно с точки на прекъсване, за да преминете през скрипта команда по команда.

Тестът е спрян при clickAndWait преди щракване върху стъпка

Преди да щракнете върху „Стъпка“. Тестовият случай е поставен на пауза на реда clickAndWait | login.

Тестът преминава към следващата команда след щракване върху „Стъпка“

След като щракнете върху „Стъпка“. - clickAndWait | login командата се изпълнява и изпълнението ѝ се паузира при следващата команда (verifyTitle | Sign-on: Mercury Tours). Следващият ред прави пауза дори без точка на прекъсване — това е целта на Step.

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

Внимание относно формати за изглед на изходен код, които не са HTML

Selenium IDE 1.x работи надеждно само с HTML формат — другите формати са все още експериментални. Създаването или редактирането на тестове в изглед, който не е в HTML, не се препоръчва. Известните проблеми от версия 1.9.1 са:

  • Не можете да използвате „Възпроизвеждане“ или да превключите обратно към табличен изглед, без да се върнете към HTML.
  • Най-безопасният начин за добавяне на команди в Source View е чрез записването им.
  • Ръчните редакции в Изглед на изходния код се губят, когато превключите към друг формат.
  • Можете да запазите тестов случай в Source View, но Selenium IDE може да не успее да го отвори отново.

Препоръчителният начин за конвертиране на тестове на Selenese в други езици е Файл > Експортиране на тестов случай като… менюто, а не изгледът на изходния код.

Въпроси и Отговори

Заветът Firefox-само Selenium IDE 1.x вече не се поддържа. Модерната Selenium IDE е разширение за браузър за Chrome, Firefoxи Edge от selenium.dev, поддържащ запис и възпроизвеждане плюс експортиране към WebDriver код.

Използвайте Assert за трудни предварителни условия, където тестът не може да продължи (например, правилната страница трябва да се зареди първа). Използвайте Verify, когато по-късните проверки все още добавят стойност, дори ако текущата е неуспешна, например при проверка на множество полета във формуляр.

Firebug беше пенсиониран през Firefox 57. Използвайте вградените в браузъра DevTools (F12) или разширения като SelectorsHub, ChroPath или Playwright Inspector, за да уловите XPath и CSS локатори за Selenium скриптове.

Да. AI Тестовите платформи наблюдават потребителските сесии, генерират команди на Selenese, предлагат надеждни локатори и конвертират записани скриптове в Selenium Кодът на WebDriver в Java, Python или JavaСкрипт с много по-малко ръчни усилия.

Генеративният изкуствен интелект (ИИ) изследва DOM снимките и предлага локатори, които са по-малко склонни да се повредят — предпочитайки атрибутите за тестване на данни пред крехкия XPath. Самовъзстановяващите се ИИ агенти автоматично пренаписват локаторите след промени в потребителския интерфейс, поддържайки...ping Selenium IDE скриптове в зелено.

Обобщете тази публикация с: