SlideShare a Scribd company logo
1 of 18
Sikuli
                       простые примеры
                          правильной
                        автоматизации

 Михаил Поляруш
http://poliarush.com
        2012
                               AUTOMATED-TESTING.INFO
Михаил Поляруш
Тренер и практикующий
консультант по автоматизации
тестирования ПО

Обучение, консалтинг, аутсорсинг
автоматизации тестирования ПО

Увлекаюсь личностным развитием,
управлением времени                http://automated-testing.info
                                   http://atdays.com
    @mpoliarush                    http://poliarush.com
2                                                 AUTOMATED-TESTING.INFO
Зачем?
    •   Sikuli – не новый инструмент
    •   Мало практичных примеров
    •   А тем более на Java
    •   Берем реальное десктоп приложение
    •   Которое даже QTP плохо автоматизирует
    •   И спокойно автоматизируем на Sikuli
    •   Вот такие вот незамысловатые планы 

3                                      AUTOMATED-TESTING.INFO
Только практическая направленность,
    чтобы Вы начали использовать Sikuli в своих проектах

    МОЯ ЦЕЛЬ НА 20 МИНУТ


4                                                          AUTOMATED-TESTING.INFO
Ну кому нужно это
    автоматизировать?




6                       AUTOMATED-TESTING.INFO
Image recognition tools




7                             AUTOMATED-TESTING.INFO
– это … ?!

    • Бесплатный
    • Open source
    • Python
    • Java
    • Распознает
      картинками
    • Sikuli IDE

8                    AUTOMATED-TESTING.INFO
Начать работу просто
    • Скачиваем sikuli jar, подключаем к проекту
    • Нарезаем картинки
    • Используем классы




9                                       AUTOMATED-TESTING.INFO
We need
     DEMO!
10         AUTOMATED-TESTING.INFO
Самый простой тест

     import org.junit.Test;
     import org.sikuli.script.*;

     public class LoginTest {
         @Test
         public void testSpotifyLoginProcess() throws FindFailed{
             App spotify = App.open(“c:spotify.exe");
             Pattern loginWindow = new Pattern("c:loginWindow.png");
             Pattern loginButton = new Pattern("c:loginSubmiButton.png");
             Region screen = new Screen();
             screen.wait(loginWindow);
             screen.click(loginButton);
             spotify.close();
         }
     }




11                                                              AUTOMATED-TESTING.INFO
Можешь нормальный код показать?




12                            AUTOMATED-TESTING.INFO
public class LoginTest extends BaseTestCase{

         @Test
         public void testInvalidLogin() throws Exception {
            LoginScreen login = new LoginScreen();
            login.enterLoginData(
                   DataProperties.get("invalid.login"),
                   DataProperties.get("invalid.password"))
                .clickLogIn();
            assertTrue(login.isErrorExist());
         }
     }




13                                                   AUTOMATED-TESTING.INFO
Что будем использовать?

     • Java

     • TestNG         TestNG

     • Maven

     • ScreenHunter

14                             AUTOMATED-TESTING.INFO
Как будем делать?

     •   ScreenObject
     •   Abstraction
     •   Resources
     •   Properties
     •   Facade
     •   Singleton

15                       AUTOMATED-TESTING.INFO
We need
     DEMO!
16         AUTOMATED-TESTING.INFO
Code



     https://github.com/polusok



17                        AUTOMATED-TESTING.INFO
Выводы
     •   У вас тяжелый случай
     •   Очень нужна автоматизация
     •   Вспомогательный инструмент
     •   Используйте Sikuli
     •   Image recognition инструмент
     •   Бесплатный и open source
     •   Легко интегрируется
     •   Доступен на Java и Python

18                                      AUTOMATED-TESTING.INFO
Михаил Поляруш
                Тренер и практикующий
                консультант по автоматизации
                тестирования ПО


                @mpoliarush
                mykhailo.poliarush@gmail.com



                http://poliarush.com
19                                 AUTOMATED-TESTING.INFO

More Related Content

Viewers also liked

Speech recognition using neural + fuzzy logic
Speech recognition using neural + fuzzy logicSpeech recognition using neural + fuzzy logic
Speech recognition using neural + fuzzy logicSnehal Patel
 
2015-12-06 Букуров Алексей - Автоматическое формирование интерфейса по метаоп...
2015-12-06 Букуров Алексей - Автоматическое формирование интерфейса по метаоп...2015-12-06 Букуров Алексей - Автоматическое формирование интерфейса по метаоп...
2015-12-06 Букуров Алексей - Автоматическое формирование интерфейса по метаоп...HappyDev
 
Sikuli Script - идеальный инструмент для обучения автоматизации
Sikuli Script - идеальный инструмент для обучения автоматизацииSikuli Script - идеальный инструмент для обучения автоматизации
Sikuli Script - идеальный инструмент для обучения автоматизацииSQALab
 
2015 12-05 Александр Шиповалов - Инструмент для тестирования Sikuli script
2015 12-05 Александр Шиповалов - Инструмент для тестирования Sikuli script2015 12-05 Александр Шиповалов - Инструмент для тестирования Sikuli script
2015 12-05 Александр Шиповалов - Инструмент для тестирования Sikuli scriptHappyDev
 
Использование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестированияИспользование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестированияSQALab
 

Viewers also liked (6)

Sikuli for Mobile Testing
Sikuli for Mobile TestingSikuli for Mobile Testing
Sikuli for Mobile Testing
 
Speech recognition using neural + fuzzy logic
Speech recognition using neural + fuzzy logicSpeech recognition using neural + fuzzy logic
Speech recognition using neural + fuzzy logic
 
2015-12-06 Букуров Алексей - Автоматическое формирование интерфейса по метаоп...
2015-12-06 Букуров Алексей - Автоматическое формирование интерфейса по метаоп...2015-12-06 Букуров Алексей - Автоматическое формирование интерфейса по метаоп...
2015-12-06 Букуров Алексей - Автоматическое формирование интерфейса по метаоп...
 
Sikuli Script - идеальный инструмент для обучения автоматизации
Sikuli Script - идеальный инструмент для обучения автоматизацииSikuli Script - идеальный инструмент для обучения автоматизации
Sikuli Script - идеальный инструмент для обучения автоматизации
 
2015 12-05 Александр Шиповалов - Инструмент для тестирования Sikuli script
2015 12-05 Александр Шиповалов - Инструмент для тестирования Sikuli script2015 12-05 Александр Шиповалов - Инструмент для тестирования Sikuli script
2015 12-05 Александр Шиповалов - Инструмент для тестирования Sikuli script
 
Использование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестированияИспользование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестирования
 

Similar to Sikuli Test Automation - How to do it?

Image-based automation
Image-based automationImage-based automation
Image-based automationVitali Shulha
 
Image-based automation
Image-based automationImage-based automation
Image-based automationVitali Shulha
 
Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...
Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...
Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...SQALab
 
Что такое Robot Framework?
Что такое Robot Framework?Что такое Robot Framework?
Что такое Robot Framework?Mykhailo Poliarush
 
Как автоматизировать комплексные системы
Как автоматизировать комплексные системыКак автоматизировать комплексные системы
Как автоматизировать комплексные системыSQALab
 
Software testing in practice
Software testing in practiceSoftware testing in practice
Software testing in practicenikolay_vasiliev
 
2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android
2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android
2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под AndroidОмские ИТ-субботники
 
Что такое проект по автоматизации тестирования ПО?
Что такое проект по автоматизации тестирования ПО?Что такое проект по автоматизации тестирования ПО?
Что такое проект по автоматизации тестирования ПО?Mykhailo Poliarush
 
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Ontico
 
Codeless: автоматизация тестирования
Codeless: автоматизация тестированияCodeless: автоматизация тестирования
Codeless: автоматизация тестированияDataArt
 
Особенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотовОсобенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотовSQALab
 
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest
 
Automation Functional Testing in Agile Projects
Automation Functional Testing in Agile ProjectsAutomation Functional Testing in Agile Projects
Automation Functional Testing in Agile ProjectsAndrey Rebrov
 
Инфраструктура Автоматизации Функционального Тестирования Web Приложений
Инфраструктура Автоматизации Функционального Тестирования Web ПриложенийИнфраструктура Автоматизации Функционального Тестирования Web Приложений
Инфраструктура Автоматизации Функционального Тестирования Web ПриложенийAndrii Dzynia
 
Фвтоматизированное тестирование с чего начать Part1
Фвтоматизированное тестирование  с чего начать Part1Фвтоматизированное тестирование  с чего начать Part1
Фвтоматизированное тестирование с чего начать Part1DataArt
 
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...automated-testing.info
 
Лилия Зданевич "Automation testing save time and money"
Лилия Зданевич "Automation testing save time and money"Лилия Зданевич "Automation testing save time and money"
Лилия Зданевич "Automation testing save time and money"DataArt
 
Автоматизация тестирования iOS и Android приложений
Автоматизация тестирования iOS и Android приложенийАвтоматизация тестирования iOS и Android приложений
Автоматизация тестирования iOS и Android приложенийAndrei Pugachev
 
Инструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныИнструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныRoman Dvornov
 

Similar to Sikuli Test Automation - How to do it? (20)

Image-based automation
Image-based automationImage-based automation
Image-based automation
 
Image-based automation
Image-based automationImage-based automation
Image-based automation
 
Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...
Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...
Автоматизация с помощью скриншотов. Как научить скрипт видеть графический инт...
 
Что такое Robot Framework?
Что такое Robot Framework?Что такое Robot Framework?
Что такое Robot Framework?
 
Как автоматизировать комплексные системы
Как автоматизировать комплексные системыКак автоматизировать комплексные системы
Как автоматизировать комплексные системы
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Software testing in practice
Software testing in practiceSoftware testing in practice
Software testing in practice
 
2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android
2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android
2012-01-05 02 Юлия Миттова. Автоматизированное тестирование под Android
 
Что такое проект по автоматизации тестирования ПО?
Что такое проект по автоматизации тестирования ПО?Что такое проект по автоматизации тестирования ПО?
Что такое проект по автоматизации тестирования ПО?
 
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
 
Codeless: автоматизация тестирования
Codeless: автоматизация тестированияCodeless: автоматизация тестирования
Codeless: автоматизация тестирования
 
Особенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотовОсобенности автоматизации с помощью скриншотов
Особенности автоматизации с помощью скриншотов
 
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестированияCodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
 
Automation Functional Testing in Agile Projects
Automation Functional Testing in Agile ProjectsAutomation Functional Testing in Agile Projects
Automation Functional Testing in Agile Projects
 
Инфраструктура Автоматизации Функционального Тестирования Web Приложений
Инфраструктура Автоматизации Функционального Тестирования Web ПриложенийИнфраструктура Автоматизации Функционального Тестирования Web Приложений
Инфраструктура Автоматизации Функционального Тестирования Web Приложений
 
Фвтоматизированное тестирование с чего начать Part1
Фвтоматизированное тестирование  с чего начать Part1Фвтоматизированное тестирование  с чего начать Part1
Фвтоматизированное тестирование с чего начать Part1
 
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...
 
Лилия Зданевич "Automation testing save time and money"
Лилия Зданевич "Automation testing save time and money"Лилия Зданевич "Automation testing save time and money"
Лилия Зданевич "Automation testing save time and money"
 
Автоматизация тестирования iOS и Android приложений
Автоматизация тестирования iOS и Android приложенийАвтоматизация тестирования iOS и Android приложений
Автоматизация тестирования iOS и Android приложений
 
Инструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныИнструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важны
 

More from Mykhailo Poliarush

Как расширять Robot Framework под свои нужны с помощью Python?
Как расширять Robot Framework под свои нужны с помощью Python? Как расширять Robot Framework под свои нужны с помощью Python?
Как расширять Robot Framework под свои нужны с помощью Python? Mykhailo Poliarush
 
atdays.com - How to do a technical speach?
atdays.com - How to do a technical speach?atdays.com - How to do a technical speach?
atdays.com - How to do a technical speach?Mykhailo Poliarush
 
iSpeaker Club Interaction and Behaviour
iSpeaker Club Interaction and BehaviouriSpeaker Club Interaction and Behaviour
iSpeaker Club Interaction and BehaviourMykhailo Poliarush
 
What is page object in selenium webdriver?
What is page object in selenium webdriver?What is page object in selenium webdriver?
What is page object in selenium webdriver?Mykhailo Poliarush
 
How to write locators xpath css?
How to write locators xpath css?How to write locators xpath css?
How to write locators xpath css?Mykhailo Poliarush
 
How to write first selenium webdriver test?
How to write first selenium webdriver test?How to write first selenium webdriver test?
How to write first selenium webdriver test?Mykhailo Poliarush
 
Easy selenium test automation on python
Easy selenium test automation on pythonEasy selenium test automation on python
Easy selenium test automation on pythonMykhailo Poliarush
 

More from Mykhailo Poliarush (9)

Как расширять Robot Framework под свои нужны с помощью Python?
Как расширять Robot Framework под свои нужны с помощью Python? Как расширять Robot Framework под свои нужны с помощью Python?
Как расширять Robot Framework под свои нужны с помощью Python?
 
atdays.com - How to do a technical speach?
atdays.com - How to do a technical speach?atdays.com - How to do a technical speach?
atdays.com - How to do a technical speach?
 
iSpeaker Club Interaction and Behaviour
iSpeaker Club Interaction and BehaviouriSpeaker Club Interaction and Behaviour
iSpeaker Club Interaction and Behaviour
 
What is technical speach?
What is technical speach?What is technical speach?
What is technical speach?
 
What is page object in selenium webdriver?
What is page object in selenium webdriver?What is page object in selenium webdriver?
What is page object in selenium webdriver?
 
How to write locators xpath css?
How to write locators xpath css?How to write locators xpath css?
How to write locators xpath css?
 
How to write first selenium webdriver test?
How to write first selenium webdriver test?How to write first selenium webdriver test?
How to write first selenium webdriver test?
 
What is regular expression?
What is regular expression?What is regular expression?
What is regular expression?
 
Easy selenium test automation on python
Easy selenium test automation on pythonEasy selenium test automation on python
Easy selenium test automation on python
 

Sikuli Test Automation - How to do it?

  • 1. Sikuli простые примеры правильной автоматизации Михаил Поляруш http://poliarush.com 2012 AUTOMATED-TESTING.INFO
  • 2. Михаил Поляруш Тренер и практикующий консультант по автоматизации тестирования ПО Обучение, консалтинг, аутсорсинг автоматизации тестирования ПО Увлекаюсь личностным развитием, управлением времени http://automated-testing.info http://atdays.com @mpoliarush http://poliarush.com 2 AUTOMATED-TESTING.INFO
  • 3. Зачем? • Sikuli – не новый инструмент • Мало практичных примеров • А тем более на Java • Берем реальное десктоп приложение • Которое даже QTP плохо автоматизирует • И спокойно автоматизируем на Sikuli • Вот такие вот незамысловатые планы  3 AUTOMATED-TESTING.INFO
  • 4. Только практическая направленность, чтобы Вы начали использовать Sikuli в своих проектах МОЯ ЦЕЛЬ НА 20 МИНУТ 4 AUTOMATED-TESTING.INFO
  • 5. Ну кому нужно это автоматизировать? 6 AUTOMATED-TESTING.INFO
  • 6. Image recognition tools 7 AUTOMATED-TESTING.INFO
  • 7. – это … ?! • Бесплатный • Open source • Python • Java • Распознает картинками • Sikuli IDE 8 AUTOMATED-TESTING.INFO
  • 8. Начать работу просто • Скачиваем sikuli jar, подключаем к проекту • Нарезаем картинки • Используем классы 9 AUTOMATED-TESTING.INFO
  • 9. We need DEMO! 10 AUTOMATED-TESTING.INFO
  • 10. Самый простой тест import org.junit.Test; import org.sikuli.script.*; public class LoginTest { @Test public void testSpotifyLoginProcess() throws FindFailed{ App spotify = App.open(“c:spotify.exe"); Pattern loginWindow = new Pattern("c:loginWindow.png"); Pattern loginButton = new Pattern("c:loginSubmiButton.png"); Region screen = new Screen(); screen.wait(loginWindow); screen.click(loginButton); spotify.close(); } } 11 AUTOMATED-TESTING.INFO
  • 11. Можешь нормальный код показать? 12 AUTOMATED-TESTING.INFO
  • 12. public class LoginTest extends BaseTestCase{ @Test public void testInvalidLogin() throws Exception { LoginScreen login = new LoginScreen(); login.enterLoginData( DataProperties.get("invalid.login"), DataProperties.get("invalid.password")) .clickLogIn(); assertTrue(login.isErrorExist()); } } 13 AUTOMATED-TESTING.INFO
  • 13. Что будем использовать? • Java • TestNG TestNG • Maven • ScreenHunter 14 AUTOMATED-TESTING.INFO
  • 14. Как будем делать? • ScreenObject • Abstraction • Resources • Properties • Facade • Singleton 15 AUTOMATED-TESTING.INFO
  • 15. We need DEMO! 16 AUTOMATED-TESTING.INFO
  • 16. Code https://github.com/polusok 17 AUTOMATED-TESTING.INFO
  • 17. Выводы • У вас тяжелый случай • Очень нужна автоматизация • Вспомогательный инструмент • Используйте Sikuli • Image recognition инструмент • Бесплатный и open source • Легко интегрируется • Доступен на Java и Python 18 AUTOMATED-TESTING.INFO
  • 18. Михаил Поляруш Тренер и практикующий консультант по автоматизации тестирования ПО @mpoliarush mykhailo.poliarush@gmail.com http://poliarush.com 19 AUTOMATED-TESTING.INFO