introduction sikuli gui automation tool sikuli tutorial 1
Както винаги се опитваме да внесем нови неща, които да научим за нашите читатели. Днес нека разгледаме интересен инструмент за автоматизация на GUI - Sikuli.
„Автоматизирайте всичко, което виждате“, като използвате инструмента за автоматизация на графичния потребителски интерфейс на Sikuli - Пълно ръководство за начинаещи бързо настройка и започнете да използвате инструмента Sikuli Script с тези задълбочени уроци по Sikuli.
Sikuli Автоматизира всичко, което виждате на екрана, използвайки метода за разпознаване на изображения, за да идентифицира GUI елементи. Sikuli скриптът позволява на потребителите да автоматизират GUI взаимодействието чрез скрийншотове.
Списък с уроци в тази поредица Sikuli
Разделихме тази серия на 3 части:
Урок # 1: Как работи, как да създадете прост проект на Sikuli.
Урок # 2: Как Sikuli може да се използва с уеб драйвер за селен за автоматизиране на уеб страници.
Урок № 3: Автоматизиране на Flash базирани приложения с помощта на Sikuli Tool
Какво ще научите:
Инструмент за автоматизация на графичния интерфейс на Sikuli
Нека започнем с 1-ва част от тази поредица.
Сикули е инструмент за автоматизиране на графичен потребителски интерфейс (GUI), използвайки метода „Visual Image Match”. В Sikuli всички уеб елементи трябва да бъдат взети като изображение и да се съхраняват в проекта. Sikuli ще задейства GUI взаимодействия въз основа на визуалното съвпадение на изображението, изображението, което сме предали като параметър, заедно с всички методи.
Sikuli може да бъде много полезен за автоматизиране на флаш обекти (които нямат идентификатор или име). Може да бъде полезно в ситуацията, когато имаме стабилен GUI (т.е. компонентите на GUI не се променят).
Дори приложенията, базирани на прозорец, също могат да бъдат автоматизирани с помощта на Sikuli. Sikuli предоставя много приятелски Sikuli-script.jar, който може лесно да се използва заедно със Selenium WebDriver. Можем дори да автоматизираме Adobe Video / Audio player, Flash Games на уебсайта, използвайки Sikuli. С опростения API улеснява кодирането.
Практически приложения
- Sikuli може да се използва за автоматизиране на Flash обекти / Flash уебсайтове.
- Може да бъде полезно да автоматизирате приложението, базирано на прозорец. Можем да автоматизираме това, което виждаме на екрана.
- Той осигурява прост API. т.е. всички методи могат да бъдат достъпни с помощта на обекти от клас на екрана.
- Той може лесно да се интегрира със Селен и всички други инструменти.
- С помощта на Sikuli можем да автоматизираме настолни приложения.
- Повечето от инструментите за тестване на автоматизацията няма да поддържат автоматизация на флаш обекти (напр. Селен). Sikuli предоставя широка поддръжка за автоматизиране на флаш обекти.
- Той използва мощен механизъм „Visual Match“ за автоматизиране на обекти на работния плот и флаш.
Ползи
- Инструмент с отворен код.
- Едно от най-големите предимства на Sikuli е, че той може лесно да автоматизира Flash обекти.
- Улеснява автоматизирането на приложението на Windows.
- Когато тествате приложение в процес на разработка и не знаете идентификатора / името на елементите, тогава можете да отидете със Sikuli. Той ще провери външния вид на изображението и ако намереното съвпадение ще взаимодейства със съответното изображение.
Предпоставки:
Преди да започнем, трябва да изтеглим и инсталираме следния софтуер:
- Всеки инструмент за заснемане на екранна снимка ( Например, DuckCapture , или qSnap )
- JDK
- Затъмнение (подробни стъпки тук за инсталиране на JDK и Eclipse)
Стъпки за създаване на проекта Sikuli Java
Стъпка # 1: Изтегляне на Sikuli - Изтеглете Sikuli от тук .
Стъпка 2: Извлечете zip файла, който сте изтеглили. Той ще съдържа файла Sikuli-script.jar. Запазете този извлечен файл във вашата локална файлова система.
автоматизация тестване интервю въпроси и отговори pdf
Стъпка # 3: Отворете Eclipse.
Стъпка # 4: Създайте файл на java проект -> нов -> Java проект
Стъпка # 5:
- Щракнете с десния бутон върху проекта
- Отидете на Build Path-> Configure Build Path
- Превключете към раздела Библиотеки
- Щракнете върху бутона „Добавяне на външни бурканчета“ и добавете Sikuli-Script.jar в пътя на изграждане.
- Щракнете върху „Ok“
Sikuli-script.jar ще бъде добавен към пътя за изграждане на вашия проект. Готово сте. Сега можете да започнете да пишете скриптове Sikuli в този проект.
Някои методи на Sikuli
# 1) Създаване на обект за клас на екрана
Екранът е основен клас, предоставен от Sikuli. Първо трябва да създадем обект за този клас на екрана, след което само ние можем да осъществим достъп до всички методи, предоставени от Sikuli.
Синтаксис:
Екран s = нов екран ();
# 2) Щракнете върху елемент
Този метод се използва за кликване върху конкретното изображение, присъстващо на екрана.
Синтаксис:
s.click („<>”);
Например,
s.click (“test.png”);
# 3) Щракнете с десния бутон върху елемент
Този метод се използва за щракване с десния бутон върху конкретното изображение, присъстващо на екрана.
Синтаксис:
s.rightClick („<>”);
Например,
s.rightClick (“test.png”);
# 4) Намерете елемент
Този метод се използва за намиране на определен елемент, присъстващ на екрана.
Синтаксис:
s.find („<>”);
Например,
s.find („test.png“);
# 5) Щракнете двукратно върху елемент
Този метод се използва за задействане на събитие с двойно щракване върху конкретно изображение, присъстващо на екрана.
Синтаксис:
s.doubleClick („<>”);
Например,
s.doubleClick (“test.png”);
# 6) Проверете дали елемент присъства на екрана
Този метод се използва за проверка дали посоченият елемент присъства на екрана.
Синтаксис:
с. съществува („<>”);
Например,
s.exists (“test.png”);
# 7) Въведете низ в текстово поле
Този метод се използва за въвеждане на посочения текст в текстовото поле.
Синтаксис:
s.type („<>”,” Низ за въвеждане ”);
Например,
s.type (“test.png”, “HI !!”);
# 8) Колело върху определено изображение
Този метод се използва за извършване на действие с колело върху изображението на елемента.
Синтаксис:
с. колело („<>”,<>,<>);
Например,
с. колело („test.png“, 25,0);
# 9) Плъзнете и пуснете изображение / елемент
Този метод се използва за плъзгане и пускане на определено изображение от изходна позиция в целева позиция.
Синтаксис:
s.dragDrop („<>','<>”);
Например,
s.dragDrop („test.png“, „test1.png“);
# 10) Завъртете курсора на мишката върху определено изображение
Този метод се използва за извършване на събитие при завъртане на посоката върху посоченото изображение.
Синтаксис:
s.hover („<>”);
Например,
s.hover („test.png“);
# 11) Поставяне на копиран низ
Този метод се използва за поставяне на текст в посоченото текстово поле.
Синтаксис:
s.paste („<>','тест');
Например,
s.paste („test.png“, „test“);
Примери за Sikuli
# 1) YouTube Video - Пауза и възпроизвеждане на видео
Етап 1) Отворете връзка към видеоклип в YouTube и заснемете възпроизвеждане и пауза на изображения на елементи с помощта на инструмента за заснемане на екран.
Бутон за пауза ( Забележка: името на файла е pause.png)
Бутон за възпроизвеждане ( Забележка: името на файла е play.png)
Копирайте тези изображения в проекта.
Стъпка 2) Създайте пакет в създадения java проект Sikuli и в рамките на него създайте клас с име „Youtube“.
Стъпка # 3) Въведете следния код в този клас.
package com.test; import org.sikuli.script.FindFailed; import org.sikuli.script.Screen; public class Youtube { public static void main(String() args) throws FindFailed, InterruptedException { // TODO Auto-generated method stub Screen s=new Screen(); s.find('pause.png'); //identify pause button s.click('pause.png'); //click pause button System.out.println('pause button clicked'); s.find('play.png'); //identify play button s.click('play.png'); //click play button } }
Стъпка # 4) Щракнете с десния бутон върху класа, изберете Run As -> Java Application.
# 2) Отворете Notepad и въведете малко текст
Стъпка # 1) Заснемете иконата на бележника на работния плот на екрана.
notepad_icon.png
notepad.png
Стъпка # две) Копирайте тези изображения във вашия проект.
как да планирате безплатни публикации в Instagram
Стъпка # 3) Създайте клас с име „NotepadExample“ във вашия проект и въведете следния код.
package com.test; import org.sikuli.script.FindFailed; import org.sikuli.script.Screen; public class NotepadExample { public static void main(String() args) throws FindFailed { // TODO Auto-generated method stub Screen s=new Screen(); s.click('notepad_icon.png'); s.find('notepad.png'); s.type('notepad.png','This is Nice Sikuli Tutorial!!!!'); } }
Стъпка # 4) Отворете екрана, за да бъдете тествани, преди да изпълните кода.
Изпълнете този файл, като щракнете с десния бутон върху Run As -> Java Application.
# 3) Плъзнете и пуснете
Етап 1) Направете екранната снимка на необходимите елементи на екрана и я поставете във вашия проект Sikuli.
( Забележка: тук иконата за изтегляне е „source.png“, а цветното изображение е „destination.png“)
Стъпка # две) Поставете тези снимки във вашия проект.
Стъпка # 3) Създайте клас с името „DragAndDrop“ и напишете следния код.
package com.test; import org.sikuli.script.FindFailed; import org.sikuli.script.Screen; public class DragAndDrop { public static void main(String() args) throws FindFailed, InterruptedException { // TODO Auto-generated method stub Screen s=new Screen(); s.find('source.png'); System.out.println('Source image found'); s.find('target.png'); System.out.println('target image found'); s.dragDrop('source.png', 'target.png'); } }
Стъпка # 4) Изпълнете този скрипт, като щракнете с десния бутон върху Изпълни като -> Приложение Java.
След изпълнението на този скрипт иконата за изтегляне ще бъде изтеглена и пусната върху изображението, посочено като цел.
Преди изпълнение:
След изпълнение:
Недостатъци на този инструмент
- Не можем да ви уверим, че съвпадението на изображението винаги ще бъде точно. Понякога, ако две или повече подобни изображения са налични на екрана, Sikuli ще се опита да избере грешното изображение.
- И ако външният вид на изображението се различава в размера на пикселите, това също ще доведе до изключението „Find Failed“.
- Общи разходи за правене на твърде много екранни снимки.
- Ако някой от екранната снимка липсва, това ще повлияе на изпълнението на програмата.
Още ресурси:
Заключение
Sikuli е много полезен за автоматизиране на флаш обекти. Може да се използва за автоматизиране на приложения, базирани на прозорец. Това е чудесен инструмент за игра с елементи на екран въз основа на визуалните им изображения.
За автора: Това е гост публикация от Анита Есвари. В момента тя работи като старши инженер по изпитване, притежаващ солидни познания за ръчно и автоматизирано тестване и различни инструменти за управление на тестове.
Следващ урок : В следващата част от тази поредица нека да разгледаме задълбочено създаването на проекта Sikuli maven и как да интегрираме Selenium със Sikuli.
Вече използвате този инструмент? Моля, споделете своя опит и съвети. Ако искате да започнете, но имате запитвания, уведомете ни.
Препоръчително четене
- Инструмент за тестване за автоматизация на GUI на Sikuli - Ръководство за начинаещи, Част 2
- 30 най-добри инструмента за тестване на GUI за автоматизация на GUI теста (2021 СПИСЪК)
- SeeTest Automation Tutorial: Ръководство за инструменти за автоматизация на мобилни тестове
- Изучаване на основи на Rational Robot - Инструмент за автоматизация на тестовете на IBM
- Урок за Geb - Тестване за автоматизация на браузъра с помощта на Geb Tool
- Полезен безплатен инструмент за улавяне на екрана и аннотатор за тестерите - Преглед на qSnap
- Урок на Katalon Studio: Безплатен инструмент за автоматизация на тестове, който сте чакали
- Автоматизиране на Flash базирани приложения с помощта на Sikuli Tool