Micro services – surgical team in test automation with SeleniumSelenium microservices

382 views
312 views

Published on

In course of manual testing, specialists often face problems in testability of decisions. During test automation using Selenium, testability problems are intensified because of a lack of human qualities in machine functioning, as well as other type of problems appear – infrastructural problems.

We have managed to solve at Odnoklassniki many of them by creating special services assistants, which work in tandem with Selenium and perform different tasks. The tasks are primarily aimed at solving the above-mentioned problems and directed to reliability growth and test speed increase. The concept of micro services, the convenience of using this approach, the solved problems and pitfalls will be discussed in this presentation.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
382
On SlideShare
0
From Embeds
0
Number of Embeds
126
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Micro services – surgical team in test automation with SeleniumSelenium microservices

  1. 1. Микро сервисы – Хирургическая бригада автоматизации тестирования с помощью Selenium
  2. 2. О себе • Я тестировщик • В тестировании около 6 лет • Занимаюсь автоматизацией тестирования в Одноклассниках
  3. 3. При проведении тестирования
  4. 4. Когда что-то автоматизируют
  5. 5. При автоматизации тестирования
  6. 6. При автоматизации тестирования
  7. 7. Инфрастуктура автотестирования NODE1 NODE 2 HUB NODE 3 NODE 4 NODE N
  8. 8. Скриншоты Память Трафик Информативность
  9. 9. Память
  10. 10. Узкое место
  11. 11. Информативность
  12. 12. Что-то другое.. Может надо хранить скриншоты там, где их снимали …А в отчеты передавать только ссылки … и позаботиться, чтобы и на нодах место не кончалось
  13. 13. Сервис скриншотов
  14. 14. Транскодирование PNG PNG WebP
  15. 15. Что получилось • • • • • Скриншоты локальные WebP Самоочистка Нативный скриншот +1 сервис
  16. 16. Зависание нод Node Driver Browser
  17. 17. Агент 172.6.3.23:4947 /Screenshot /Killer
  18. 18. Что получилось • Управление временем жизни браузера • Возможность перезагружать ноды • +1 хэндлер к агенту
  19. 19. Решенные проблемы /screenshot /killer Node Agent /cache /distr /hosts
  20. 20. Контент Музыка Фото Видео
  21. 21. Local File Detector - принцип HUB NODE
  22. 22. Local File Detector - схема NODE HUB NODE NODE
  23. 23. Как это работает
  24. 24. Итог по инфраструктурным проблемам • • • • Дополнительные рычаги управления Ускорение процесса общения с инфраструктурой Решение инфраструктурных проблем +2 сервиса
  25. 25. При автоматизации тестирования
  26. 26. Что мы хотим от автотестов Скорость Надежность Окружения Удобство Трудные места
  27. 27. Стандартное расширение NODE1 NODE 2 HUB NODE1 NODE 2 NODE 3 HUB NODE 4
  28. 28. Как выглядят тесты t Теста BEFORE TEST t AFTER
  29. 29. Как должны выглядеть тесты t TEST1 TEST2 TEST3
  30. 30. Как бы это сделать…? ? BEFORE private static final TEST AFTER
  31. 31. Проблемы статических данных Кэши • Пользовательские • Контентные Окружения • Production • Stage • Testing • Dev Другие факторы • Время • Устаревание • ошибки
  32. 32. Мнемоник Bot 1 KEY Bot 2 Bot 3
  33. 33. Взаимодействие API TEST mnemonic.getMessage("key").getForTest();
  34. 34. Что получилось • • • Фильтрация данных Удобная работа с данными +1 сервис и База Данных
  35. 35. •Регистрировать ботов •Удалять ботов •Контролировать состояние ботов
  36. 36. Как это работает API TEST sk.getBot() sk.deleteBot(bot)
  37. 37. Что получилось • • • • • Ускорение тестов Профит при увеличении числа ботов Запас ботов Локальный запуск +1 сервис
  38. 38. Что в итоге Управляемость Надежность Удобство Скорость Возможности
  39. 39. Было ... NODE1 NODE 2 NODE 3 NODE 4 NODE 5 HUB NODE N
  40. 40. Стало ... NODE1 NODE 2 NODE 3 NODE 4 NODE 5 HUB NODE N
  41. 41. Все бесплатно!!! http://www.eclipse.org/jetty/ DropWizard - http://dropwizard.codahale.com/ http://www.mongodb.org/ https://developers.google.com/speed/webp/ http://www.quartz-scheduler.org/ https://github.com/egorzamaraev/sample-jetty-service
  42. 42. Спасибо!!! http://www.ok.ru/egorza egor.zamaraev@odnoklassniki.ru

×