Vraag Hoe selenium-serversessies op verschillende xvfb-schermen uit te voeren?


Mijn probleem is hoe je geïsoleerde videostreams van SeleniumServer-browserinstanties kunt krijgen. Laat het me uitleggen.

Ik heb een Selenium Server-hub op de Ubuntu Server-machine en de Selenium Server-node op dezelfde server, dus ik gebruik de 'headless' Selenium-modus met xvfb. Ik voer de knooppunten als volgt uit: DISPLAY=:99 java -jar selenium-server-standalone.jar -role node -hub http://localhost:4444/grid/register

Dan wil ik videostreams van de testen die daar lopen, zodat ik de x11server op de xvfb virtuele display heb aangesloten en daarna kan ik die externe server verbinden met behulp van VNC en zie ik mijn tests verwerken. Het probleem is dat alle browserinstanties in het knooppunt op hetzelfde virtuele scherm (# 99) worden weergegeven en dat wanneer ik meerdere tests tegelijk moet uitvoeren, ik veel browserinstanties één voor één overlapt. Maar ik wil de fouttest videostreams opnemen zodat ik dit niet kan doen. Dus ik moet de mogelijkheid hebben om verbinding te maken met elk virtueel virtuele display van de browser.

Ik denk dat ik dit probleem kan oplossen door de xvfb-server op de een of andere manier af te stemmen om het te dwingen een geïsoleerd virtueel scherm of scherm te maken (xvfb heeft ondersteuning voor meerdere schermen, nietwaar?) Voor elke client (browser-instantie in mijn geval). Maar ik heb geprobeerd dit te doen en ik heb geen resultaat. Ook kan ik een ander virtueel display (niet xvfb) gebruiken als het nodig is om dit op te lossen.

Help me alsjeblieft om geïsoleerde videostreams van elke browser-instance te krijgen :) Heel erg bedankt en sorry voor mijn Engels.


10
2017-08-21 11:06


oorsprong


antwoorden:


Met de seleenhub kunt u de browsers afzonderlijk toevoegen in hun eigen Xvfb-sessies

java -jar selenium-server-standalone-2.33.0.jar -role hub& 

verbind vervolgens elke browser afzonderlijk in zijn eigen Xvfb-sessie, DISPLAY en poort

export DISPLAY=:11
Xvfb :11 -screen 0 1024x768x16 &

java -jar selenium-server-standalone-2.33.0.jar \
   -role node \
   -port 4441
   -hub http://localhost:4444/grid/register \
   -browser "browserName=firefox,version=19,maxInstances=5"&

1
2018-02-18 04:30



Voor dit soort gebruik kunt u meestal de xvfb-run commando (die automatisch een weergave kan selecteren, maar deze kan worden geconfigureerd)

Dan kun je een firefox start script maken dat zou werken xvfb-run firefox die je zou kunnen gebruiken als het commando selenium firefox start (gespecificeerd als a FirefoxBinary)


1
2018-02-19 09:06