2011-07-30 32 views
1

我將如何停止硒服務器獨立。我知道你可以通過java -jar selenium-server-standalone.jar開始,但你會如何阻止它?另外,有沒有一種簡單的方法來在Python中編寫腳本來啓動和停止它,因爲我正在運行tests.I感覺這很簡單。但我無法找到我的問題的答案。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)  
相關問題