Ние ще използваме уебсайта на Mercury Tours като нашето уеб приложение, което се тества. Това е онлайн система за резервация на полети, която съдържа всички елементи, от които се нуждаем за този урок. Неговият URL адрес е http://demo.guru99.com/test/newtours/ и това ще бъде нашият основен URL адрес.
Създайте скрипт чрез запис
Нека сега създадем първия си тестов скрипт в Selenium IDE, използвайки най-разпространения метод - чрез запис. След това ще изпълним нашия скрипт, използвайки функцията за възпроизвеждане.
Етап 1
- Стартирайте Firefox и Selenium IDE.
- Въведете стойността за нашия основен URL адрес: http://demo.guru99.com/test/newtours/.
- Включете бутона Запис (ако все още не е включен по подразбиране).
Стъпка 2
В Firefox отидете на http://demo.guru99.com/test/newtours/. Firefox трябва да ви отведе до страницата, подобна на показаната по-долу. |
|
Стъпка 3
|
|
Стъпка 4
|
|
Стъпка 5
|
|
Стъпка 6
Изключете бутона за запис, за да спрете записа. Сега вашият скрипт трябва да изглежда като показания по-долу. |
|
Стъпка 7
След като приключихме с нашия тестов скрипт, ще го запишем в тестов случай. В менюто File изберете "Save Test Case". Като алтернатива можете просто да натиснете Ctrl + S. |
|
Стъпка 8
|
|
Стъпка 9.
Забележете, че файлът е запазен като HTML. |
Стъпка 10.
Върнете се в Selenium IDE и щракнете върху бутона Възпроизвеждане, за да изпълните целия скрипт. IDE на Selenium трябва да може да възпроизвежда всичко безупречно.
Въведение в командите на селен - селено
- Командите на Selenese могат да имат максимум два параметъра: target и value.
- Не се изискват параметри през цялото време. Зависи от това колко команди ще са необходими.
3 вида команди
Действия |
Това са команди, които директно взаимодействат с елементите на страницата. Пример: командата "щракване" е действие, защото вие директно взаимодействате с елемента, върху който кликвате. Командата "type" също е действие, защото поставяте стойности в текстово поле и текстовото поле ви ги показва в замяна. Има двупосочно взаимодействие между вас и текстовото поле. |
Аксесоари |
Те са команди, които ви позволяват да съхранявате стойности в променлива. Пример: командата "storeTitle" е достъп, тъй като само "чете" заглавието на страницата и я записва в променлива. Той не взаимодейства с нито един елемент на страницата. |
Твърдения |
Те са команди, които проверяват дали е изпълнено определено условие. 3 вида твърдения
|
Утвърждаване срещу потвърждение
Общи команди
Команда | Брой параметри | Описание |
---|---|---|
отворен | 0 - 2 |
Отваря страница с помощта на URL адрес. |
click / clickAndWait | 1 |
Кликвания върху определен елемент. |
type / typeKeys | 2 |
Въвежда поредица от символи. |
verifyTitle / assertTitle | 1 |
Сравнява действителното заглавие на страницата с очакваната стойност. |
verifyTextPresent | 1 |
Проверява дали в страницата е намерен определен текст. |
verifyElementPresent | 1 |
Проверява наличието на определен елемент. |
verifyTable | 2 |
Сравнява съдържанието на таблица с очакваните стойности. |
waitForPageToLoad | 1 |
Спира изпълнението, докато страницата не се зареди напълно. |
waitForElementPresent | 1 |
Спира изпълнението, докато посоченият елемент не стане наличен. |
Създайте скрипт ръчно с Firebug
Сега ще пресъздадем същия тест ръчно, като напишем командите. Този път ще трябва да използваме Firebug.
Етап 1
|
Стъпка 2: Щракнете върху най-горния празен ред в редактора. |
Въведете "отворен" в текстовото поле Команда и натиснете Enter. |
Стъпка 3
|
Стъпка 4
|
Стъпка 5
|
Щракнете върху текстовото поле User Name. Забележете, че Firebug автоматично ви показва HTML кода за този елемент. |
Стъпка 6
Забележете, че текстовото поле User Name няма ID, но има атрибут NAME. Следователно ние ще използваме неговото ИМЕ като локатор. Копирайте стойността на NAME и я поставете в полето Target в Selenium IDE. Все още в текстовото поле Target, префикс "userName" с "name =", показващ, че IDE на Selenium трябва да насочва към елемент, чийто атрибут NAME е "userName". Напишете "invalidUN" в текстовото поле Value на Selenium IDE. Сега вашият тестов скрипт трябва да изглежда като изображението по-долу. Приключихме с третата команда. Забележка: Вместо невалиден UN, можете да въведете всеки друг текстов низ. Но Selenium IDE е чувствителен към малки и големи букви и вие въвеждате стойности / атрибути точно както в приложението. |
Стъпка 7
|
Стъпка 8
|
Стъпка 9: Запазете тестовия случай по същия начин, както направихме в предишния раздел.
Използване на бутона за намиране
Бутонът Find в Selenium IDE се използва, за да се провери дали това, което сме поставили в текстовото поле Target, наистина е правилният елемент на UI.
Нека използваме тестовия случай Invalid_login, който създадохме в предишните раздели. Щракнете върху която и да е команда с Target запис, да речем, третата команда.
Щракнете върху бутона Намери. Забележете, че текстовото поле User Name на страницата Mercury Tours се осветява за секунда.
Това показва, че Selenium IDE е успял да открие и да осъществи правилен достъп до очаквания елемент. Ако бутонът Търсене намери различен елемент или изобщо няма елемент, тогава трябва да има нещо нередно във вашия скрипт.
Изпълнете командата
Това ви позволява да изпълнявате всяка една команда, без да изпълнявате целия тестов случай . Просто кликнете върху реда, който искате да изпълните и след това кликнете върху „Действия> Изпълнение на тази команда“ от лентата с менюта или просто натиснете „X“ на клавиатурата.
Стъпка 1. Уверете се, че браузърът ви е на началната страница на Mercury Tours. Щракнете върху командата, която искате да изпълните. В този пример кликнете върху реда "type | userName | invalidUN".
Стъпка 2. Натиснете "X" на клавиатурата.
Стъпка 3. Наблюдавайте, че текстовото поле за потребителско име се попълва с текст "invalidUN"
Изпълнението на команди по този начин силно зависи от страницата, която Firefox показва в момента . Това означава, че ако опитате горния пример с показаната начална страница на Google вместо Mercury Tours, тогава вашата стъпка ще се провали, тъй като в началната страница на Google няма текстово поле с атрибут "userName".
Начална точка
Началната точка е индикатор, който казва на Selenium IDE кои линии ще стартират изпълнението . Клавишът за бърз достъп е "S".
В горния пример възпроизвеждането ще започне на третия ред (въведете | парола | невалиден PW). Можете да имате само една начална точка в един тестов скрипт.
Началната точка е подобна на Execute Command по такъв начин, че те зависят от текущо показваната страница. Началната точка ще се провали, ако сте на грешната страница.
Точки на прекъсване
Точките на прекъсване са индикатори, които казват на Selenium IDE къде автоматично да постави на пауза теста. Клавишът за бърз достъп е "B".
Жълтото осветяване означава, че текущата стъпка е в очакване. Това доказва, че Selenium IDE е спрял изпълнението на тази стъпка. Можете да имате множество точки на прекъсване в един тестов случай.
Стъпка
Тя ви позволява да изпълнявате следващи команди една по една след пауза на тестовия случай. Нека използваме сценария в предишния раздел „Точки на прекъсване“.
Преди да щракнете върху „Стъпка“. Тестовият случай се прави на пауза на реда "clickAndWait | вход". |
|
След като щракнете върху „Стъпка“. Редът "clickAndWait | login" се изпълнява и прави пауза до следващата команда (verifyTitle | Вход: Mercury Tours). Забележете, че следващият ред е на пауза, въпреки че там няма точка на прекъсване. Това е основната цел на функцията Step - тя изпълнява следващите команди една по една, за да ви даде повече време за проверка на резултата след всяка стъпка. |
Важни неща, които трябва да имате предвид при използване на други формати в изгледа на източника
Selenium IDE работи добре само с HTML - други формати са все още в експериментален режим . Това е не е препоръчително да създадете или редактирате тестове с използването на други формати в Източник Вижте защото все още има много работа, която да го направи стабилен. По-долу са известните грешки от версия 1.9.1.
- Няма да можете да изпълнявате възпроизвеждане, нито да превключвате обратно към табличен изглед, освен ако не се върнете към HTML.
- Единственият начин за безопасно добавяне на команди към изходния код е чрез записването им.
- Когато модифицирате изходния код ръчно, всичко ще бъде загубено, когато преминете към друг формат.
- Въпреки че можете да запазите тестовия си случай, докато сте в изглед на източник, Selenium IDE няма да може да го отвори.
Препоръчителният начин за конвертиране на тестове на Selenese е използването на опцията „Експортиране на тестовия случай като ...“ в менюто File, а не чрез изгледа на източника.
Обобщение
- Тестовите скриптове могат да бъдат създадени или чрез запис или ръчно въвеждане на команди и параметри.
- Когато ръчно създавате скриптове, Firebug се използва за получаване на локатора.
- Бутонът Търсене се използва за проверка дали командата има достъп до правилния елемент.
- Изглед на таблица показва скрипт за тест в таблична форма, докато изгледът на източника го показва в HTML формат.
- Промяната на изгледа на източника в не-HTML формат все още е експериментална.
- Не използвайте изгледа на източника при създаване на тестове в други формати. Вместо това използвайте функциите за експортиране.
- Не се изискват параметри през цялото време. Зависи от командата.
- Има три вида команди:
- Действия - директно взаимодейства с елементите на страницата
- Аксесоари - "чете" свойство на елемент и го съхранява в променлива
- Утвърждения - сравнява действителна стойност с очаквана
- Твърденията имат три вида:
- Утвърждаване - при неуспех следващите стъпки вече не се изпълняват
- Проверка - при неуспех следващите стъпки все още се изпълняват.
- WaitFor - преминава, ако посоченото условие стане вярно в рамките на периода на изчакване; в противен случай ще се провали
- Най-често срещаните команди са:
- отворен
- click / clickAndWait
- type / typeKeys
- verifyTitle / assertTitle
- verifyTextPresent
- verifyElementPresent
- verifyTable
- waitForPageToLoad
- waitForElementPresent