Selenium 2 в Mail.Ru GroupДмитрий Зенович,руководитель тестирования,Mail.Ru Group
Selenium – священная корова
Selenium – это:Selenium IDESelenium WebDriverSelenium Server,Selenium Grid
Selenium Grid 2Selenium ноды + Selenium хаб
JenkinsJob 1Thread 1…Thread 2Thread NJob MThread 1…Thread 2Thread NNode 1XEN…Node KNode 1XEN…Node KSeleniumHub
Многопоточность тестовОдна нода на одинбраузерОдна нода на одинпоток тестов
Ресурсы≈ 42 потока (42 ноды)21 Гб !1000 тестов ∗ ½ минуты ∗ 5 браузеров60 минутНебольшой проект:
Многопоточность и экономия ресурсов
Многопоточность на одной ноде
Что делать?
Selenium изнутриJava CoreIEDriver (C++)OperaDriver (Java)FirefoxDriver (JS, C++)ChromeDriver (C++, ext)Bindings (Python, P...
КликиВвод с клавиатурыЗагрузка файловfindActiveElementОднопоточные операции
Закрытие окнаОткрытие окнасlear()get(url)Влияния
Java ReentrantReadWriteLock
БлокировкиwriteLock• findActiveElement• click• sendKeyreadLock• Открытие и закрытие окон• clear• get(URL)
Фокус окнаOpera Driver (Java, JNI, WinAPI)• findActiveElement• click• sendKeysToElementIE Driver (C++, WinAPI)• click
Запускc таймаутом (Java)Потокиввода/вывода призакрытии браузера(Java)ИзолированныесессииПрочее
Стабильная многопоточностьНебольшой проект(1000 тестов):1 нода вместо 42-х3 Гб вместо 21 ГбЭкономия памяти:7 раз!
невозможносомнительнонеосуществимонеправильноникто так не делает
Единственный в миреcтабильный многопоточный Selenium
Дмитрий Зеновичру к о в од и т ел ь т е с т и р о в а н и яd . z e n o v i c h @ c o r p . m a i l . r u
Zenovich
Upcoming SlideShare
Loading in...5
×

Zenovich

462

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
462
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Zenovich

  1. 1. Selenium 2 в Mail.Ru GroupДмитрий Зенович,руководитель тестирования,Mail.Ru Group
  2. 2. Selenium – священная корова
  3. 3. Selenium – это:Selenium IDESelenium WebDriverSelenium Server,Selenium Grid
  4. 4. Selenium Grid 2Selenium ноды + Selenium хаб
  5. 5. JenkinsJob 1Thread 1…Thread 2Thread NJob MThread 1…Thread 2Thread NNode 1XEN…Node KNode 1XEN…Node KSeleniumHub
  6. 6. Многопоточность тестовОдна нода на одинбраузерОдна нода на одинпоток тестов
  7. 7. Ресурсы≈ 42 потока (42 ноды)21 Гб !1000 тестов ∗ ½ минуты ∗ 5 браузеров60 минутНебольшой проект:
  8. 8. Многопоточность и экономия ресурсов
  9. 9. Многопоточность на одной ноде
  10. 10. Что делать?
  11. 11. Selenium изнутриJava CoreIEDriver (C++)OperaDriver (Java)FirefoxDriver (JS, C++)ChromeDriver (C++, ext)Bindings (Python, PHP,C#, Ruby, …)
  12. 12. КликиВвод с клавиатурыЗагрузка файловfindActiveElementОднопоточные операции
  13. 13. Закрытие окнаОткрытие окнасlear()get(url)Влияния
  14. 14. Java ReentrantReadWriteLock
  15. 15. БлокировкиwriteLock• findActiveElement• click• sendKeyreadLock• Открытие и закрытие окон• clear• get(URL)
  16. 16. Фокус окнаOpera Driver (Java, JNI, WinAPI)• findActiveElement• click• sendKeysToElementIE Driver (C++, WinAPI)• click
  17. 17. Запускc таймаутом (Java)Потокиввода/вывода призакрытии браузера(Java)ИзолированныесессииПрочее
  18. 18. Стабильная многопоточностьНебольшой проект(1000 тестов):1 нода вместо 42-х3 Гб вместо 21 ГбЭкономия памяти:7 раз!
  19. 19. невозможносомнительнонеосуществимонеправильноникто так не делает
  20. 20. Единственный в миреcтабильный многопоточный Selenium
  21. 21. Дмитрий Зеновичру к о в од и т ел ь т е с т и р о в а н и яd . z e n o v i c h @ c o r p . m a i l . r u
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×