Laden...

Seleniumtests mit Docker (Seleniumgrid, Resourcen)

Erstellt von multitasker vor 7 Jahren Letzter Beitrag vor 7 Jahren 1.178 Views
M
multitasker Themenstarter:in
91 Beiträge seit 2008
vor 7 Jahren
Seleniumtests mit Docker (Seleniumgrid, Resourcen)

Hallo zusammen,
ich würde dieses Thema gerne nutzen, um mich zu informieren und eure Erfahrungen abzuholen zu diesem Thema. Ich habe bisher keine Erfahrungen mit Docker.
Wir verwenden Selenium für automatisierte Tests für unsere ASP.NET Anwendung. Wir haben in unserer Testinfrastruktur aktuell etwa 10 VMs (Seleniumknoten), auf denen verschiedene Browser parallel gestartet werden und ferngesteuert werden. Also Benutzerinteraktionen simuliert werden und das Ergebnis überprüft wird. Die Verteilung der Tests auf die Seleniumknoten macht das Seleniumgrid.

Wir hätten gerne noch mehr Seleniumknoten, damit wir mehr parallele Tests ausführen können. Bei jeder VM habe ich jedoch den Overhead an Systemresourcen die ich binde, durch das Betriebssystem und Prozesse die Ablaufen, die gar nichts mit meinen Tests zu tun haben. Eigentlich brauche ich ja nur einen Browser. Hier denke ich, dass der Einsatz von Docker genau richtig wäre, wenn ich diese Containertechnologie richtig verstanden habe.
Ich sehe es so, dass für die Resourcen, die meine 10 VMs gerade verschlingt ich wahrscheinlich 30 Dockercontainer starten kann, worin in jedem Dockercontainer eine Browserinstanz einen Test durchführt. Kann man das etwa so sehen? Wie sind eure Erfahrungen dazu?

Viele Grüße
Jens

16.834 Beiträge seit 2008
vor 7 Jahren

Ja, das siehst Du richtig so und Selenium selbst bietet dazu auch Docker Images an.
https://github.com/SeleniumHQ/docker-selenium

M
multitasker Themenstarter:in
91 Beiträge seit 2008
vor 7 Jahren

Wie sieht das ganze dann von der Architektur her aus.

Wir haben einen ESX Server, der verschiedene VMs startet. In einer VM läuft unser Teamcity von Jetbrains, von dort werden dann nach dem Buildprozess die ASP.NET Anwendungen die getestet werden soll auf eine andere VM deployt. Auf die ASP.NET Anwendungen in dieser VM soll ja nun aus den Dockercontainer zugegriffen werden. Meines Erachtens müssten die Dockercontainer ja vom ESX Server gestartet werden, denn wenn ich den Dockercontainer aus einer VM starte, dann habe ich ja wieder das Problem, dass ich die Resourcenverschwendung habe. Ist das so gedacht?
Weist du was ich meine?