2011-07-30 13 views
1

どのようにしてselenium-server-standaloneを停止できますか? java -jar selenium-server-standalone.jarで始めることができるのは分かっていますが、どうやって止めるのですか?また、私はtests.Iを実行しているようにそれを開始し、それを停止するPythonのスクリプトを簡単な方法は、これはかなりシンプルなように感じる。しかし、私の質問に対する答えを見つけることができません。python stop selenium standalone server

答えて

3

あなたはsubprocess.Popenでサーバを起動し、sel.shut_down_selenium_server()でそれをシャットダウンすることができます。

import selenium 
import socket 
import subprocess 
import shlex 
import sys 
import time 

# CHANGE path='/path/to/selenium-server.jar' AS NEEDED: 
def start_server(path='/path/to/selenium-server.jar'): 
    null=open('/dev/null') 
    proc=subprocess.Popen(shlex.split('java -jar {p}'.format(p=path)), 
          stdout=null,stderr=null) 
    return proc 

def shutdown_server(sel): 
    sel.shut_down_selenium_server() 

def start_selenium(host="localhost", 
        port=4444, 
        browserStartCommand="*firefox", 
        browserURL="http://www.google.com/webhp"): 
    sel=selenium.selenium(host,port,browserStartCommand,browserURL) 
    try: 
     sel.start() 
    except socket.error as err: 
     proc=start_server() 
     time.sleep(1) 
     try: 
      sel.start() 
     except socket.error as err: 
      sys.exit(err) 
    return sel 

if __name__=='__main__': 
    sel=start_selenium() 
    time.sleep(1) 
    sel.stop() 
    shutdown_server(sel)  
関連する問題