Supposons qu'un client commence une session de sélénium sur un serveur RC, mais au milieu de la session, le client "est parti". Le navigateur restera ouvert et finalement, après assez de telles sessions abandonnées, il y aura suffisamment de navigateurs "orphelins" pour ralentir l'ordinateur. P>
3 Réponses :
Une instance de navigateur a une session_id que vous pouvez stocker. EXEMPLE PYTHON:
>>> import selenium >>> browser = selenium.selenium("localhost",4444, "*firefox", "http://www.santiycr.com.ar") >>> browser.start() >>> browser.sessionId u'b4ad1f1d624e44d9af4200b26d7375cc'
Pour les navigateurs Firefox, vous pouvez découvrir la sessionID en cochant le nom du dossier de profil. Sur un système unique, PS AX | grep firefox-bin code> retournera quelque chose comme
12345? 1:00 / USR / LIB / ITICEWEASEL / Firefox-Bin -Profile / TMP / CustomProfileDir
Vous pouvez également simplement tuer le processus:
Windows: P>
* NIX: P> Taskkill / f / im iexplore.exe code>
Taskkill / F / im firefox.exe CODE> P>
for i in `ps -A | grep firefox | awk '{print $1}'`; do kill -9 $i; done
Cela va tuer tout Firefox, pas seulement le "zombie". Donc, si, par exemple, vous exécutez deux RC sur la même machine (pas que cela improbable), vous risquez de finir par tuer un F qui a été utilisé par l'autre RC.
>>> browser.stop() Does the same as Santi explains above.
Vous devez accepter une réponse une fois que vous pensez que votre question a été répondue ...
Sur la note similaire, pourrais-je réutiliser les sessions de navigateur existantes? :)
@Nayn - oui tu peux! :) Il y a un argument que vous pouvez envoyer le sélénium rc quand il commence: -BrowserSreuse