python 停止 selenium 独立服务器
我想知道怎么停止 selenium-server-standalone。启动它的方法我知道,就是用 java -jar selenium-server-standalone.jar
这个命令。但是,怎么才能把它停掉呢?另外,有没有简单的方法可以用 Python 来写个脚本,方便我在运行测试时启动和停止它。我觉得这应该很简单,但我找不到答案。
1 个回答
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)