Sikuli Test Automation - How to do it?

3,831 views

Published on

Sikuli Test Automation - How to do it on Java?

Published in: Technology
3 Comments
2 Likes
Statistics
Notes
No Downloads
Views
Total views
3,831
On SlideShare
0
From Embeds
0
Number of Embeds
243
Actions
Shares
0
Downloads
0
Comments
3
Likes
2
Embeds 0
No embeds

No notes for slide

Sikuli Test Automation - How to do it?

  1. 1. Sikuli простые примеры правильной автоматизации Михаил Полярушhttp://poliarush.com 2012 AUTOMATED-TESTING.INFO
  2. 2. Михаил ПолярушТренер и практикующийконсультант по автоматизациитестирования ПООбучение, консалтинг, аутсорсингавтоматизации тестирования ПОУвлекаюсь личностным развитием,управлением времени http://automated-testing.info http://atdays.com @mpoliarush http://poliarush.com2 AUTOMATED-TESTING.INFO
  3. 3. Зачем? • Sikuli – не новый инструмент • Мало практичных примеров • А тем более на Java • Берем реальное десктоп приложение • Которое даже QTP плохо автоматизирует • И спокойно автоматизируем на Sikuli • Вот такие вот незамысловатые планы 3 AUTOMATED-TESTING.INFO
  4. 4. Только практическая направленность, чтобы Вы начали использовать Sikuli в своих проектах МОЯ ЦЕЛЬ НА 20 МИНУТ4 AUTOMATED-TESTING.INFO
  5. 5. Ну кому нужно это автоматизировать?6 AUTOMATED-TESTING.INFO
  6. 6. Image recognition tools7 AUTOMATED-TESTING.INFO
  7. 7. – это … ?! • Бесплатный • Open source • Python • Java • Распознает картинками • Sikuli IDE8 AUTOMATED-TESTING.INFO
  8. 8. Начать работу просто • Скачиваем sikuli jar, подключаем к проекту • Нарезаем картинки • Используем классы9 AUTOMATED-TESTING.INFO
  9. 9. We need DEMO!10 AUTOMATED-TESTING.INFO
  10. 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. 11. Можешь нормальный код показать?12 AUTOMATED-TESTING.INFO
  12. 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. 13. Что будем использовать? • Java • TestNG TestNG • Maven • ScreenHunter14 AUTOMATED-TESTING.INFO
  14. 14. Как будем делать? • ScreenObject • Abstraction • Resources • Properties • Facade • Singleton15 AUTOMATED-TESTING.INFO
  15. 15. We need DEMO!16 AUTOMATED-TESTING.INFO
  16. 16. Code https://github.com/polusok17 AUTOMATED-TESTING.INFO
  17. 17. Выводы • У вас тяжелый случай • Очень нужна автоматизация • Вспомогательный инструмент • Используйте Sikuli • Image recognition инструмент • Бесплатный и open source • Легко интегрируется • Доступен на Java и Python18 AUTOMATED-TESTING.INFO
  18. 18. Михаил Поляруш Тренер и практикующий консультант по автоматизации тестирования ПО @mpoliarush mykhailo.poliarush@gmail.com http://poliarush.com19 AUTOMATED-TESTING.INFO

×