introduction sikuli gui automation tool sikuli tutorial 1
Як завжди, ми намагаємось принести нові речі, щоб навчитися для наших читачів. Сьогодні розглянемо цікавий інструмент автоматизації графічного інтерфейсу - Sikuli.
“Автоматизуйте все, що бачите”, використовуючи інструмент автоматизації графічного інтерфейсу користувача Sikuli - Повне керівництво для початківців швидко налаштувати і починайте використовувати інструмент Sikuli Script за допомогою цих поглиблених підручників Sikuli.
Sikuli Автоматизує все, що ви бачите на екрані, використовуючи метод розпізнавання зображень для ідентифікації елементів графічного інтерфейсу. Сценарій Sikuli дозволяє користувачам автоматизувати взаємодію з графічним інтерфейсом за допомогою скріншотів.
Список підручників у цій серії Sikuli
Ми розділили цю серію на 3 частини:
Підручник No1: Як це працює, як створити простий проект Sikuli.
Підручник No2: Як можна використовувати Sikuli з веб-драйвером селену для автоматизації веб-сторінок.
Підручник No3: Автоматизація програм на базі Flash за допомогою інструмента Sikuli
Що ви дізнаєтесь:
Інструмент автоматизації графічного інтерфейсу Sikuli
Почнемо з 1-ї частини цієї серії.
Сікулі - це інструмент для автоматизації графічного інтерфейсу користувача (GUI) за допомогою методу «Visual Image Match». У Sikuli всі веб-елементи слід сприймати як зображення та зберігати всередині проекту. Sikuli ініціює взаємодію з графічним інтерфейсом на основі візуального збігу зображення, зображення, яке ми передали як параметр разом із усіма методами.
Sikuli може бути дуже корисним для автоматизації флеш-об'єктів (які не мають ідентифікатора або імені). Це може бути корисно в ситуації, коли ми маємо стабільний графічний інтерфейс (тобто компоненти графічного інтерфейсу не змінюються).
Навіть програми на основі вікон також можуть бути автоматизовані за допомогою Sikuli. Sikuli надає дуже дружній Sikuli-script.jar, який можна легко використовувати разом із Selenium WebDriver. Ми навіть можемо автоматизувати Adobe Video / Audio player, Flash Games на веб-сайті за допомогою Sikuli. За допомогою простого API це полегшує кодування.
як писати історії користувачів та критерії прийняття
Практичне використання
- Sikuli можна використовувати для автоматизації Flash-об'єктів / веб-сайтів Flash.
- Це може бути корисно для автоматизації програми на основі вікна. Ми можемо автоматизувати те, що ми бачимо на екрані.
- Він забезпечує простий API. тобто всі методи можна отримати за допомогою об’єктів класу екрану.
- Його можна легко інтегрувати з селеном та іншими інструментами.
- Використовуючи Sikuli, ми можемо автоматизувати настільні програми.
- Більшість засобів тестування автоматизації не підтримують автоматизацію flash-об'єктів (наприклад, селен). Sikuli надає широку підтримку для автоматизації флеш-об'єктів.
- Він використовує потужний механізм “Visual Match” для автоматизації робочих столів та об’єктів Flash.
Переваги
- Інструмент з відкритим кодом.
- Однією з найбільших переваг Sikuli є те, що він може легко автоматизувати Flash-об'єкти.
- Це дозволяє легко автоматизувати додаток Windows.
- Коли ви тестуєте додаток, що розробляється, і не знаєте ідентифікатора / назви елементів, тоді ви можете піти з Sikuli. Він перевірить зовнішній вигляд зображення, і якщо знайдено збіг, він буде взаємодіяти із зображенням відповідно.
Передумови:
Перед початком роботи нам потрібно завантажити та встановити наступне програмне забезпечення:
- Будь-який інструмент зйомки знімка екрана ( Наприклад, DuckCapture , або qSnap )
- JDK
- Затемнення (докладні кроки тут встановити JDK та Eclipse)
Кроки для створення проекту Sikuli Java
Крок No1: Завантажити Sikuli - Завантажте Сікулі з тут .
Крок No2: Витягніть завантажений zip-файл. Він міститиме файл Sikuli-script.jar. Збережіть цей витягнутий файл у вашій локальній файловій системі.
Крок No3: Відкрийте Eclipse.
Крок No4: Створіть файл Java-файлу -> Новий -> Проект Java
Крок No5:
- Клацніть правою кнопкою миші на проекті
- Перейдіть до Путь збірки-> Налаштувати шлях до збірки
- Перейдіть на вкладку Бібліотеки
- Натисніть кнопку «Додати зовнішні банки» та додайте Sikuli-Script.jar у шлях побудови.
- Натисніть 'Ok'
Sikuli-script.jar буде додано до шляху створення вашого проекту. Ви закінчили. Тепер ви можете почати писати сценарії 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.існує (“<>”);
Наприклад,
s.існує (“test.png”);
# 7) Введіть рядок у текстовому полі
Цей метод використовується для введення зазначеного тексту в поле Текст.
Синтаксис:
s.type (“<>”,” Рядок, який слід набрати ”);
Наприклад,
s.type (“test.png”, “HI !!”);
# 8) Поворот на конкретному зображенні
Цей метод використовується для виконання колесної дії на зображення елемента.
Синтаксис:
s.wheel (“<>',<>,<>);
Наприклад,
s.wheel (“test.png”, 25,0);
# 9) Перетягніть зображення / елемент
Цей метод використовується для перетягування вказаного зображення з вихідної позиції в цільову.
Синтаксис:
s.dragDrop (“<>','<>”);
Наприклад,
s.dragDrop (“test.png”, ”test1.png”);
# 10) Наведіть курсор на конкретне зображення
Цей метод використовується для виконання події наведення курсору на вказаному зображенні.
Синтаксис:
s.hover (“<>”);
Наприклад,
s.hover (“test.png”);
# 11) Вставити скопійований рядок
Цей метод використовується для вставки тексту у вказане текстове поле.
Синтаксис:
s.paste (“<>”,” Тест ”);
що таке дружна функція в C ++
Наприклад,
s.paste (“test.png”, “test”);
Приклади Сікулі
# 1) Відео YouTube - Призупиніть і відтворіть відео
Крок 1) Відкрийте посилання на відео YouTube і захопіть відтворення та призупиніть зображення елементів за допомогою інструмента зйомки екрана.
Кнопка паузи ( Примітка: ім'я файлу - pause.png)
Кнопка відтворення ( Примітка: ім'я файлу - play.png)
Скопіюйте ці зображення всередині проекту.
Крок No2) Створіть пакет у створеному Java-проекті Sikuli та в межах нього створіть клас під назвою “Youtube”.
Крок No3) Введіть наступний код всередині цього класу.
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) Клацніть правою кнопкою миші на класі, виберіть Виконати як -> Застосування Java.
# 2) Відкрийте блокнот і введіть текст
Крок # 1) Зніміть значок блокнота на робочому столі на екрані.
notepad_icon.png
notepad.png
Крок # 2) Скопіюйте ці зображення у свій проект.
Крок No3) Створіть у своєму проекті клас «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!!!!'); } }
Крок No4) Відкрийте екран для тестування перед виконанням коду.
Виконайте цей файл, клацнувши правою кнопкою миші Запустити як -> Застосування Java.
# 3) Перетягування
Крок 1) Зробіть знімок екрана необхідних елементів на екрані та розмістіть його у своєму проекті Sikuli.
( Примітка: тут значок завантаження - 'source.png', а зображення квітки - 'destination.png')
Крок # 2) Помістіть ці фотографії у свій проект.
Крок # 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.
Після виконання цього сценарію піктограма завантаження буде перетягнута на зображення, позначене як ціль.
Перед виконанням:
найкращий завантажувач mp3 для телефонів Android
Після виконання:
Недоліки цього інструменту
- Ми не можемо запевнити вас, що відповідність зображення буде завжди точною. Іноді, якщо на екрані є два або більше подібних зображень, Сікулі намагатиметься вибрати неправильне зображення.
- І якщо зовнішній вигляд зображення змінюється в розмірі пікселів, це також призведе до винятку 'Знайти не вдалося'.
- Накладні витрати на занадто багато знімків екрана.
- Якщо хтось із скріншота відсутній, це вплине на виконання програми.
Більше ресурсів:
Висновок
Sikuli дуже корисний для автоматизації спалаху об'єктів. Він може бути використаний для автоматизації віконних програм. Це чудовий інструмент для гри з елементами на екрані на основі їх візуального ефекту.
Про автора: Це гостьовий допис Аніти Есварі. В даний час вона працює старшим інженером-випробувачем, маючи глибокі знання щодо ручного та автоматичного тестування та різних інструментів управління тестами.
Наступний підручник : У наступній частині цієї серії давайте глибоко розглянемо створення проекту Sikuli maven та способи інтеграції селену з Sikuli.
Уже використовуєте цей інструмент? Поділіться своїм досвідом та порадами. Якщо ви хочете розпочати роботу, але маєте запити, повідомте нас.
Рекомендована література
- Інструмент тестування автоматичного графічного інтерфейсу користувача Sikuli - Посібник для початківців, Частина 2
- 30 найкращих засобів тестування графічного інтерфейсу для автоматизації тестування графічного інтерфейсу (2021 СПИСОК)
- SeeTest Automation Tutorial: Мобільний інструмент автоматизації тестування
- Вивчення основ раціонального робота - інструмент автоматизації тестування IBM
- Підручник Geb - Тестування автоматизації браузера за допомогою інструмента Geb
- Корисний безкоштовний інструмент зйомки екрана та анотатора для тестувальників - qSnap Review
- Підручник з Katalon Studio: Безкоштовний інструмент автоматизації тестів, на який ви чекали
- Автоматизація програм на базі Flash за допомогою інструмента Sikuli