Selenoid - Hunderte von parallelen UI-Tests einfach und schnell. Pavel Senin

Ich schlage vor, Sie machen sich mit der Dekodierung des Berichts 2017 von Pavel Senin "Selenoid - Hunderte von parallelen UI-Tests einfach und schnell" vertraut.



Heute erzähle ich Ihnen von einem neuen Projekt von Entwicklern, die bei Yandex arbeiten und viel darüber wissen, wie viele tausend Tests parallel ausgeführt werden können, und das uns diese Aufgabe erleichtert hat.



. IT 2007- , it-. . . , . , , , . .



production-, Selenoid . . , , . , Selenoid.


Selenoid Selenium Server. , Selenium Server.


, , . , , , , . .


. , Selenoid , . , , Selenoid.



, . , , Outlook «» , . . UI. JavaScript- , . . . , , - 5-10 . - .


. .


– , . . Windows 10. . , .


. , , , . . , . , UI- 5-20 – .


30 . , , .



? c Windows 10. 30 , 30 . Eclipse. . Jenkins, .


, ? , , . Windows server 2008 R2, Chrome, FF . , .


. – 15 . Selenium Server .


, . .


. . regression jobs , , . . .



? , . . . , , . . , , , . . .


. - 30-40 . DevOps- . . , , . .


Windows. . Selenium Server , . .


. . , . GB , . , , .


. UI , , - . - .



, . , . . , .


  • zalenium. . . Selenium Server , , , – BrowserStack .


  • , Selenium Hub , , , . 1000 , Selenium Hub , . Selenium Hub. , Selenium Hub , .


  • . -. . , , . ., , . Apache Mesos – . , . . Selenium Hub. , , .


  • Jsonwire Grid. . ? , Selenium Server . , Selenium Server , , , . , , - .




Selenoid? , . . . Selenium Server? ip Selenium Server . Selenium Server . . WebDriver , . WebDriver .


Selenoid ? . Selenium Server. . , . .


Selenoid . Capabilities Chrome 56- , 56- , . - , , , , . . .


WebDriver, WebDriver : , , . . – , flash.



Selenoid? . . , Selenoid: Selenoid Selenoid UI. . Selenoid UI – Selenoid. , .


, , . . . . Selenoid .


, Selenoid, . . , . VNC, . .


Selenoid. . . . . , , . , . IE, . . , .



, .


  • .


  • , . . 30 . , . , CPU , .


  • 30 . Selenoid , , , 5-10 DDoS-, . – , . JavaScript .


  • . , DevOps, . . , , .


  • , . , , . . .




. , . 36 , 34 GB . .



Selenoid Selenium Server.



, :


  • Selenoid , Selenium Server.


  • .


  • .


  • UI .


  • , , . , , Selenoid . , - .




Selenium Server? Java . . , -, , Selenium Server .



Selenoid? . . -, . . .


, Configuration Manager. . Selenoid, , . . . Selenoid. Selenium Server. .



  • , . . 30 – . - , - . , , - .


  • WebDriver .


  • Chrome, Firefox . production , .




Selenoid ?


, WebDriver .


, . . . .


, .



config.json. , Configuration Manager. , JSON, Chrome, Firefox, Opera . . JSON , , . .



. Selenium. , , .


- , , - , . : Firefox, Chrome . . Selenium 10-20 . .



Selenoid , . .


, CPU 200-500 MB . Windows Chrome, , , , - 500 MB . JavaScript, 20% 4- .


tmpfs, . . . , , cookies, , . . . , . tmpfs . .


, - . - . .



Selenium , . . Selenium Server Hub. . .


. Hub, . , , , 1 000. Selenium Hub . Java — Jetty, - . Stackoverflow 5 700 . , Selenium Server . . .


Selenium Server . UI-. , .


Selenium Hub . . .



Selenoid ? . 5 000 5 . Linux Windows.


Selenoid , Selenium Server Windows.


? , Go Grid Router. Selenium Hub. , . , . . . 5 000 10 Go Grid Router. Go Grid Router , Selenoid .


-, , , . , 10, - . , Go Grid Router , . , .


, , Go Grid Router. .



, , Selenium Server . . Golang Selenium Server. . .


. , Selenium Server 500 MB , 10 , Selenoid 50-60 MB, . . 10 .



  • .


  • .


  • .




Selenium Grid .


. «» , .



Selenoid . , .


Selenoid.


? 80 % — , 80 %, . . , . , 5 . 4 . 4 + 0 – , . 4 Firefox. , Chrome, Firefox, Opera . .



, . . , , . VNC, , . . . , XPATH CSS- . .



, . Selenium Hub, . UI-, , Selenoid. Chrome 58- id .


UI .



Selenoid . . . Selenium Hub Selenoid .


Selenoid , .


CPU RAM. , JavaScript , . production.



.



. .


  • Selenoid «». Selenoid, JSON Selenoid , .


  • Selenoid, . Selenium . , . WebDriver. X-, , .


  • . Selenoid . . , JSON , . , . graphite, Grafana. , , . , - - .


  • – , . . , , , . , , , .


  • , . , . . , VNC, capability , . , , Selenoid VNC , .



.



, Docker . .



Hypervisor, . . . Docker. Hypervisor , , . , Windows, - , . . , .


Docker . . , . Docker () . - , . . .



  • Linux? , , IE , , – Chrome, Firefox Opera, IE, Safari . , , IE Safari . Safari , . . . IE . Edge , Edge .


  • . – - , . , . . . . , , , hover , . , , , . . .


  • – . , Selenoid, . . . - , , -, Selenoid.


  • . .


  • , , .


  • , .




Selenoid Golang, , Windows. JSON, , IE , .


, IE. -, IE . . . Windows . - 5-10 .


Selenium capabilities, . . , . . . , , .



. ?


:


  • Selenoid.


  • .


  • VNC .


  • «» .


  • .




:


  • Configuration manager.


  • Selenoid.


  • Selenoid-UI, .



. production, , Selenoid Selenoid-UI , .


43 .


. Ubuntu 16.04.3 – . , . , Docker . , .


, , . , . . Docker .


github.com/aerokube. Aerokube – . , , Selenoid. .. .


Configuration manager. . . , , . . , , , .


, wget «cm». 12 MB. . . «cm». .


«selenoid start». , , VNC.


. , , , Selenoid . . 10. .


, . Selenoid, . . Selenoid. . , Firefox, – Selenoid, Opera, Selenoid. Selenoid 13 MB. , , 700 MB. , Selenoid. , «4444». Selenium Server. .


JSON-, , Configuration manager. , 62.0 61.0 Chrome, 49.0 Firefox. , tmpfs. «configure --help». Selenoid. . . -, tmpfs. , , «tmpfs 256 --force». Force , . . , , .


. JSON- Selenoid.


, Selenoid . . . , . JSON. tmpfs. Tmpfs .


UI . . , , . . Docker. Configuration manager . , Selenoid-UI . «8080». . , - , . . Selenium Server. . . . , .


, , .



Selenoid.


  • .


  • . , . .


  • , .



Eclipse 50 .


Eclipse, . . capabilities , VNC . capabilities . , - , . , .


. 4 - . , , . , . , .


, , - . VNC . VNC.


, . . «» . , , .


JSON, , , .


, , . capabilities . . . , . 5 , 3 . .


, , . , . , «/video». . , - .


, . , . , .


2 Selenoid. . 12 . . - , . , CPU.


, .



  • , 5 , Selenoid. , , . . , . , . , , .


  • . Selenium Hub. . , capabilities .


  • , . . , .


  • + . . . . ? , , , , -. - , .


  • , , . , zalenium , . . Selenium Docker. Docker 150 000 . Selenoid 300 000 . , - 1 000. , Telegram- . , , Selenoid . , . . , .




Hier sind die Entwicklerkontakte: https://github.com/aerokube . Ich rate Ihnen, sofort zu ihrer Stunde per Telegramm einzutreten: https://t.me/aerokube . Sie reagieren sehr schnell. Sie sprechen über neue Funktionen. Und sie haben eine sehr gute Dokumentation in ihre Site eingebaut.



PS Aktualisierte Wiedergabeliste mit einer Demo von Selenoid https://www.youtube.com/watch?v=mxHqCMhpnaE&list=PLW7WVf1LXeWrCBv_48hOR-eWtshGBet9a


Video:



All Articles