Как да използвате Selenium IDE със скриптове и команди (утвърждаване, проверка)

Ще използваме Mercury Уебсайт Tours като наше уеб приложение в процес на тестване. Това е онлайн система за резервация на полети, която съдържа всички елементи, необходими за този урок. URL адресът му е https://demo.guru99.com/test/newtours/и това ще бъде нашият основен URL адрес.

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

Създайте скрипт чрез запис

Стъпка

  • Стартиране Firefox намлява Selenium SDI.
  • Въведете стойността за нашия основен URL адрес: https://demo.guru99.com/test/newtours/.
  • Toggle бутонът Запис е включен (ако все още не е включен по подразбиране).

Създайте скрипт чрез запис

Стъпка

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

Създайте скрипт чрез запис

Стъпка

  • Щракнете с десния бутон върху всяко празно място в страницата, като на Mercury Лого на Tours в горния ляв ъгъл. Това ще доведе до Selenium IDE контекстно меню. Забележка: Не щраквайте върху обекти или изображения с хипервръзка
  • Изберете опцията „Показване на наличните команди“.
  • След това изберете „assertTitle exact: Добре дошли: Mercury обиколки.” Това е команда, която гарантира, че заглавието на страницата е правилно.

Създайте скрипт чрез запис

Създайте скрипт чрез запис

Стъпка

  • В текстовото поле „Потребителско име“ на Mercury Обиколки, въведете невалидно потребителско име, „invalidUNN“.
  • В текстовото поле „Парола“ въведете невалидна парола „invalidPWD“.

Създайте скрипт чрез запис

Създайте скрипт чрез запис
Стъпка

  • Кликнете върху бутона „Вход“. Firefox трябва да ви отведе до тази страница.

Създайте скрипт чрез запис

Стъпка

Toggle изключете бутона за запис, за да спрете записа. Сега вашият скрипт трябва да изглежда като този, показан по-долу.

Създайте скрипт чрез запис

Стъпка

Сега, след като приключихме с нашия тестов скрипт, ще го запазим в тестов случай. В менюто „Файл“ изберете „Запазване на тестов случай“. Като алтернатива можете просто да натиснете Ctrl+S.

Създайте скрипт чрез запис

Стъпка

  • Изберете желаното от вас местоположение и след това наименувайте Тестов случай като „Invalid_login“.
  • Щракнете върху бутона „Запазване“.

Създайте скрипт чрез запис

Стъпка

Забележете, че файлът е записан като HTML.

Създайте скрипт чрез запис

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

Създайте скрипт чрез запис

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

  • Командите на Selenese могат да имат максимум два параметъра: цел и стойност.
  • Параметрите не се изискват през цялото време. Зависи от това колко ще са необходими на командата.

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

Действия Това са команди, които директно взаимодействат с елементите на страницата.

Пример: командата „click“ е действие, защото вие директно взаимодействате с елемента, върху който щраквате.

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

Аксесоари Те са команди, които ви позволяват да съхранявате стойности на променлива.

Пример: командата “storeTitle” е инструмент за достъп, защото само “чете” заглавието на страницата и го записва в променлива. Не взаимодейства с нито един елемент на страницата.

Твърдения Те са команди, които проверяват дали определено условие е изпълнено.

3 вида твърдения

  • твърдя. Когато командата „assert“ е неуспешна, тестът се спира незабавно.
  • Проверете. Когато командата „потвърди“ е неуспешна, Selenium IDE регистрира тази грешка и продължава с изпълнението на теста.
  • Изчакай. Преди да преминат към следващата команда, командите „waitFor“ първо ще изчакат определено условие да стане истина.
    • Ако условието стане истина в рамките на периода на изчакване, стъпката преминава.
    • Ако условието не стане вярно, стъпката е неуспешна. Грешката се регистрира и изпълнението на теста продължава към следващата команда.
    • По подразбиране стойността на времето за изчакване е зададена на 30 секунди. Можете да промените това в Selenium Диалогов прозорец Опции на IDE под раздела Общи.

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

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

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

Общи команди

Команда Брой параметри Descriptйон
отворен 0 - 2 Отваря страница с помощта на URL.
щракнете/щракнете и изчакайте 1 Щраква върху определен елемент.
type/typeKeys 2 Въвежда поредица от знаци.
verifyTitle/assertTitle 1 Сравнява действителното заглавие на страницата с очаквана стойност.
verifyTextPresent 1 Проверява дали в страницата е намерен определен текст.
verifyElementPresent 1 Проверява наличието на определен елемент.
verifyTable 2 Сравнява съдържанието на таблица с очакваните стойности.
waitForPageToLoad 1 Слага на пауза изпълнението, докато страницата се зареди напълно.
waitForElementPresent 1 Слага на пауза изпълнението, докато посоченият елемент стане наличен.

Създайте скрипт ръчно с Firebug

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

Стъпка

  • отворено Firefox намлява Selenium SDI.
  • Въведете основния URL адрес https://demo.guru99.com/test/newtours/
  • Бутонът за запис трябва да е ИЗКЛЮЧЕН.

Създайте скрипт ръчно с Firebug

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

Създайте скрипт ръчно с Firebug

Въведете „open“ в текстовото поле Command и натиснете Enter.

Създайте скрипт ръчно с Firebug

Стъпка

  • Навигация Firefox към нашия основен URL адрес и активирайте Firebug
  • в Selenium В панела на IDE Editor изберете втория ред (реда под командата „open“) и създайте втората команда, като напишете „assertTitle“ в полето за команди.
  • Чувствайте се свободни да използвате функцията за автоматично довършване.

Създайте скрипт ръчно с Firebug

Стъпка

  • Във Firebug разгънете етикет за показване на етикет.
  • Кликнете върху стойността на етикет (който е „Добре дошли: Mercury Tours”) и го поставете върху Target поле в редактора.

Създайте скрипт ръчно с Firebug

Стъпка

  • За да създадете третата команда, щракнете върху третия празен ред в редактора и въведете „тип“ в текстовото поле на командата.
  • Във Firebug щракнете върху бутона „Проверка“.

Създайте скрипт ръчно с Firebug

Кликнете върху текстовото поле Потребителско име. Забележете, че Firebug автоматично ви показва HTML кода за този елемент.

Създайте скрипт ръчно с Firebug

Стъпка Забележете, че текстовото поле за потребителско име няма ID, но има атрибут NAME. Следователно ще използваме неговото ИМЕ като локатор. Копирайте стойността NAME и я поставете върху Target поле в Selenium SDI.

Създайте скрипт ръчно с Firebug

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

Създайте скрипт ръчно с Firebug

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

Създайте скрипт ръчно с Firebug

Стъпка

  • За да създадете четвъртата команда, въведете „тип“ в текстовото поле Команда.
  • Отново използвайте бутона „Проверка“ на Firebug, за да получите локатора за текстовото поле „Парола“.

Създайте скрипт ръчно с Firebug

  • Поставете атрибута NAME („парола“) върху Target поле и го представете с „име=“
  • Въведете „invalidPW“ в полето Стойност в Selenium IDE. Вашият тестов скрипт сега трябва да изглежда като изображението по-долу.

Създайте скрипт ръчно с Firebug

Стъпка

  • За петата команда въведете „clickAndWait“ в текстовото поле Command Selenium SDI.
  • Използвайте бутона „Проверка“ на Firebug, за да получите локатора за бутона „Влизане“.

Създайте скрипт ръчно с Firebug

  • Поставете стойността на атрибута NAME („влизане“) върху Target текстово поле и го представете с „име=“.
  • Вашият тестов скрипт сега трябва да изглежда като изображението по-долу.

Създайте скрипт ръчно с Firebug

Стъпка 9: Запазете тестовия случай по същия начин, както направихме в предишния раздел.

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

Бутонът Намери в Selenium IDE се използва за проверка дали това, което сме поставили в Target текстовото поле наистина е правилният UI елемент.

Нека използваме тестовия случай Invalid_login, който създадохме в предишните раздели. Щракнете върху произволна команда с a Target въвеждане, да речем, третата команда.

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

Кликнете върху бутона Намери. Забележете, че текстовото поле Потребителско име в рамките на Mercury Страницата с обиколки се маркира за секунда.

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

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

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

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

Стъпка 1) Уверете се, че вашият браузър е на Mercury Начална страница на Tours. Кликнете върху командата, която искате да изпълните. В този пример щракнете върху „тип | потребителско име | невалиден UN”.

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

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

Стъпка 3) Забележете, че текстовото поле за потребителско име се попълва с текста „invalidUN“

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

Изпълнението на команди по този начин силно зависи от страницата, която Firefox се показва в момента. Това означава, че ако опитате примера по-горе с началната страница на Google, показана вместо Mercury Tours', тогава стъпката ви ще бъде неуспешна, защото няма текстово поле с атрибут „userName“ в началната страница на Google.

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

Началната точка е индикатор, който казва Selenium IDE кои редове ще започне изпълнението. Клавишът за бърз достъп е „S“.

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

В горния пример възпроизвеждането ще започне на третия ред (тип | парола | невалиден PW). Можете да имате само една начална точка в един тестов скрипт.

Началната точка е подобна на Execute Command, така че те зависят от текущо показаната страница. Началната точка ще се провали, ако сте на грешната страница.

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

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

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

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

Стъпка

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

Стъпка

Преди да щракнете върху „Стъпка“.

Тестовият случай спира на реда „clickAndWait | вход“.

Стъпка След като щракнете върху „Стъпка“.

Файлът „clickAndWait | login” се изпълнява и спира до следващата команда (verifyTitle | Sign-on: Mercury обиколки).

Забележете, че следващият ред е поставен на пауза, въпреки че там няма точка на прекъсване. Това е основната цел на функцията Step – тя изпълнява последователните команди една по една, за да ви даде повече време за проверка на резултата след всяка стъпка.

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

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

Selenium IDE работи добре само с HTML – други формати все още са в експериментален режим. Е НЕ е препоръчително за създаване или редактиране на тестове, използващи други формати в изгледа на източника, защото все още има много работа, необходима, за да стане стабилен. По-долу са известните грешки от версия 1.9.1.

  • Няма да можете да извършите възпроизвеждане, нито да превключите обратно към изглед на таблица, освен ако не се върнете към HTML.
  • Единственият начин за безопасно добавяне на команди към изходния код е като ги запишете.
  • Когато промените изходния код ръчно, всичко ще бъде загубено, когато преминете към друг формат.
  • Въпреки че можете да запазите вашия тестов случай, докато сте в изглед на източника, Selenium IDE няма да може да го отвори.

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

Oбобщение

  • Тестовите скриптове могат да бъдат създадени чрез записване или въвеждане на командите и параметрите ръчно.
  • Когато създавате скриптове ръчно, Firebug се използва за получаване на локатора.
  • Бутонът Find се използва за проверка дали командата има достъп до правилния елемент.
  • Table View показва тестов скрипт в таблична форма, докато Source View го показва в HTML формат.
  • Промяната на изгледа на източника към формат, различен от HTML, все още е експериментална.
  • Не използвайте изгледа на източника при създаване на тестове в други формати. Вместо това използвайте функциите за експортиране.
  • Параметрите не се изискват през цялото време. Зависи от командата.
  • Има три вида команди:
    • Действия – директно взаимодейства с елементите на страницата
    • Accessors – „чете“ свойство на елемент и го съхранява в променлива
    • Твърдения – сравнява действителна стойност с очаквана
  • Твърденията са три вида:
    • Утвърждаване – при неуспех следващите стъпки вече не се изпълняват
    • Проверка – при неуспех следващите стъпки продължават да се изпълняват.
    • WaitFor – преминава, ако зададеното условие стане вярно в рамките на периода на изчакване; в противен случай ще се провали
  • Най-често срещаните команди са:
    • отворен
    • щракнете/щракнете и изчакайте
    • type/typeKeys
    • verifyTitle/assertTitle
    • verifyTextPresent
    • verifyElementPresent
    • verifyTable
    • waitForPageToLoad
    • waitForElementPresent