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.

QA Fest 2017. Иван Крутов. Selenoid: запускаем Selenium тесты в Docker контейнерах

1,115 views

Published on

В этом докладе я расскажу о новом инструменте - Selenoid, позволяющем легко запускать браузерные тесты в Docker-контейнерах. Мы поговорим об основных проблемах при запуске тестов в браузерах, и как они решаются при использовании контейнеров, а затем пройдемся по основным возможностям Selenoid. Поверьте - работа с Selenium может быть приятной!

Published in: Education
  • Be the first to comment

  • Be the first to like this

QA Fest 2017. Иван Крутов. Selenoid: запускаем Selenium тесты в Docker контейнерах

  1. 1. Selenoid: browsers in containers by Ivan Krutov
  2. 2. About me Java & Golang developer Allure Framework contributor Devops Big Selenium cluster
  3. 3. Big Selenium cluster 5000+ browsers 5 data centers 4000 rps 800 Mbit/s 24/7/365 Linux (desktop) Windows (IE, Edge) Android Emulators iOS Simulators Real devices
  4. 4. Ways to test in browsers
  5. 5. #1: test online
  6. 6. #2: Selenium Server
  7. 7. SelenoidSelenium #3: Selenoid
  8. 8. How Selenium works
  9. 9. Linux covers 80% of browsers
  10. 10. Let’s use containers!
  11. 11. How Selenoid works Selenoid Container
  12. 12. Selenoid without Docker
  13. 13. Selenoid applications Local browser tests development Creating big Selenium clusters
  14. 14. Installation
  15. 15. StackOverflow statistics > 60 000 questions about Selenium
  16. 16. Installing Selenium Manually install Java Manually download Selenium JAR Manually download web-driver binaries Manually unpack web-drivers from archives Manually install required browsers Manually type complicated start command
  17. 17. Installing Selenoid Just one short command: $./cm selenoid start
  18. 18. Running tests
  19. 19. Selenium window focus problem
  20. 20. Selenium browser settings problem
  21. 21. Selenoid runs isolated browsers
  22. 22. Debugging tests
  23. 23. Selenium: grid console and eyes
  24. 24. Selenoid: rich UI
  25. 25. Selenoid: usage statistics
  26. 26. Live Browser Screen
  27. 27. Live Selenium Logs
  28. 28. Adding new browsers
  29. 29. Installing new version is a pain /usr/bin FF 45 FF 46
  30. 30. Selenium compatibility issues Chromedriver ???56
  31. 31. Computer is cluttered with waste
  32. 32. Selenoid: self-contained images
  33. 33. Images for all recent browsers 3.6+ 33.0+ 12.16 48.0+
  34. 34. Custom screen resolution
  35. 35. Compatible with other images https://github.com/SeleniumHQ/docker-selenium https://github.com/elgalu/docker-selenium https://github.com/paypal/docker-selion
  36. 36. Demo
  37. 37. Creating big cluster
  38. 38. Selenium Grid
  39. 39. Selenium Grid flaws It is Java increased memory consumption→ Built-in UI consuming resources No simple way to collect usage statistics & logs Hard to maintain different browser versions
  40. 40. Selenoid: created for big clusters
  41. 41. Ultra-fast and lightweight 100% Golang 7 Mb binary 60 Mb RAM
  42. 42. Fine-grained resources control Limit total number of sessions per host Queues Limit CPUs per container Limit RAM per container
  43. 43. Tmpfs support
  44. 44. Centralized logs support Selenoid E L K
  45. 45. Statistics as JSON Selenoid Graphite InfluxDB ElasticSearch Grafana
  46. 46. Standalone UI
  47. 47. Hot configuration reload
  48. 48. Ggr for scalability and reliability
  49. 49. Some numbers
  50. 50. Well documented
  51. 51. SelenoidSelenium
  52. 52. References https://github.com/aerokube/selenoid @aerokube http://telegram.me/aerokube http://aerokube.com/ vania-pooh@aerokube.com

×