Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sikuli Test Automation - How to do it?

4,120 views

Published on

Sikuli Test Automation - How to do it on Java? https://github.com/poliarush/Java-Sikuli-Demo

Published in: Technology

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

×