Как да използвате 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 трябва да ви отведе до страница, подобна на показаната по-долу. |
|
Стъпка
|
|
Стъпка
|
|
Стъпка
|
|
Стъпка
Toggle изключете бутона за запис, за да спрете записа. Сега вашият скрипт трябва да изглежда като този, показан по-долу. |
|
Стъпка
Сега, след като приключихме с нашия тестов скрипт, ще го запазим в тестов случай. В менюто „Файл“ изберете „Запазване на тестов случай“. Като алтернатива можете просто да натиснете Ctrl+S. |
|
Стъпка
|
|
Стъпка
Забележете, че файлът е записан като HTML. |
Стъпка 10) Върни се обратно Selenium IDE и щракнете върху бутона Възпроизвеждане, за да изпълните целия скрипт. Selenium IDE трябва да може да копира всичко безупречно.
Въведение в Selenium Команди – Selenese
- Командите на Selenese могат да имат максимум два параметъра: цел и стойност.
- Параметрите не се изискват през цялото време. Зависи от това колко ще са необходими на командата.
Видове команди
Действия | Това са команди, които директно взаимодействат с елементите на страницата.
Пример: командата „click“ е действие, защото вие директно взаимодействате с елемента, върху който щраквате. Командата „тип“ също е действие, защото поставяте стойности в текстово поле, а текстовото поле ви ги показва в замяна. Между вас и текстовото поле има двупосочно взаимодействие. |
---|---|
Аксесоари | Те са команди, които ви позволяват да съхранявате стойности на променлива.
Пример: командата “storeTitle” е инструмент за достъп, защото само “чете” заглавието на страницата и го записва в променлива. Не взаимодейства с нито един елемент на страницата. |
Твърдения | Те са команди, които проверяват дали определено условие е изпълнено.
3 вида твърдения
|
Утвърждаване срещу проверка в Selenium
Общи команди
Команда | Брой параметри | Descriptйон |
---|---|---|
отворен | 0 - 2 | Отваря страница с помощта на URL. |
щракнете/щракнете и изчакайте | 1 | Щраква върху определен елемент. |
type/typeKeys | 2 | Въвежда поредица от знаци. |
verifyTitle/assertTitle | 1 | Сравнява действителното заглавие на страницата с очаквана стойност. |
verifyTextPresent | 1 | Проверява дали в страницата е намерен определен текст. |
verifyElementPresent | 1 | Проверява наличието на определен елемент. |
verifyTable | 2 | Сравнява съдържанието на таблица с очакваните стойности. |
waitForPageToLoad | 1 | Слага на пауза изпълнението, докато страницата се зареди напълно. |
waitForElementPresent | 1 | Слага на пауза изпълнението, докато посоченият елемент стане наличен. |
Създайте скрипт ръчно с Firebug
Сега ще пресъздадем същия тестов случай ръчно, като въведем командите. Този път ще трябва да използваме Firebug.
Стъпка
|
Стъпка 2: Кликнете върху най-горния празен ред в редактора. |
Въведете „open“ в текстовото поле Command и натиснете Enter. |
Стъпка
|
Стъпка
|
Стъпка
|
Кликнете върху текстовото поле Потребителско име. Забележете, че Firebug автоматично ви показва HTML кода за този елемент. |
Стъпка
Забележете, че текстовото поле за потребителско име няма ID, но има атрибут NAME. Следователно ще използваме неговото ИМЕ като локатор. Копирайте стойността NAME и я поставете върху Target поле в Selenium SDI.
И все пак в Target текстово поле, префикс „userName“ с „name=“, което показва, че Selenium IDE трябва да се насочи към елемент, чийто атрибут NAME е „userName“. Въведете „invalidUN“ в текстовото поле Стойност на Selenium IDE. Вашият тестов скрипт сега трябва да изглежда като изображението по-долу. Приключихме с третата команда. Забележка: Вместо invalidUN, можете да въведете всеки друг текстов низ. но Selenium IDE е чувствителна към главни и малки букви и въвеждате стойности/атрибути точно както в приложението. |
Стъпка
|
Стъпка
|
Стъпка 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 постави на пауза изпълнението на тази стъпка. Можете да имате няколко точки на прекъсване в един тестов случай.
Стъпка
Тя ви позволява да изпълнявате последователни команди една по една след пауза на тестовия случай. Нека използваме сценария в предишния раздел „Точки на прекъсване“.
Важни неща, които трябва да имате предвид, когато използвате други формати в изглед на източник
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