Wie schließe ich einen Browser auf einem Selenium-RC-Server, der seinen Client verloren hat?

8

Angenommen, ein Client startet eine Selen-Sitzung auf einem RC-Server, aber in der Mitte der Sitzung "ging" der Client "weg". Der Browser bleibt geöffnet, und nach so vielen abgelegten Sitzungen wird es genug "verwaiste" Browser geben, um den Computer zu verlangsamen.

  • Wie kann ich sicherstellen, dass diese Browser geschlossen sind?
  • Warum gibt es keinen "keep-alive" -Teil im Protokoll, um sicherzustellen, dass der Client noch reagiert und die Sitzung nicht beendet wird?
  •     
    olamundo 23.08.2009, 05:25
    quelle

    3 Antworten

    14

    Jede Browser-Instanz hat eine session_id, die Sie speichern können. Python Beispiel:

    %Vor%

    Wenn Sie also diese sessionId beim Start des Tests in einer Datei speichern und sie dann nach Ende der Tests entfernen, verfügen Sie über eine Protokolldatei mit Sitzungen für Tests, die nicht ordnungsgemäß beendet wurden.

    Wenn Sie nun cron oder eine normale Ausführung verwenden, können Sie diese Datei lesen, über die darin gespeicherten sessionIds iterieren und die folgende URL öffnen (mit einem Browser oder sogar einer http-Bibliothek für Ihre Programmiersprache):

    Ссылка

    Das sollte den Trick machen.

    Bearbeiten: Ich fand diese Frage so interessant, dass in meinem Blog ein Beitrag über die Lösung erstellt wurde. Wenn Sie ein Python-Typ sind, werden Sie es interessant finden: Ссылка

    >     
    Santi 23.08.2009, 23:24
    quelle
    2
    %Vor%

    Hat das gleiche wie Santi oben erklärt.

        
    hruske 23.10.2010 10:25
    quelle
    2

    Sie können den Prozess auch einfach beenden:

    Windows:

    taskkill /f /im iexplore.exe
    taskkill /f /im firefox.exe

    * nix:

    %Vor%     
    BotBilly 03.09.2010 14:41
    quelle