[英]Launching selenium from python (subprocess.Popen vs. os.system)
当我引导测试时,我正在使用subprocess.Popen
在python中启动selenium 2 jar文件。
FF可以正常工作,但是当我尝试启动google chrome时,它无法加载页面(出现“ Aww,snap”错误),它尝试在一个奇怪的地方查找它的配置文件: $SELENIUM_JAR/"/var/folders/Qg/QgltsVp+FL0PDThAc5yUeE+++TM/-Tmp-/customProfileDir2e33faaabf3d4fb18491510228814229"/Default/Bookmarks
作为测试,我尝试手动启动selenium,但效果很好,接下来我尝试使用os.system
,但令我惊讶的是效果还不错。
尽管使用os.system
有很多缺点,例如不能杀死硒,也不能捕获输出。
我的打开命令如下所示:
self.p = subprocess.Popen(to_execute, env=os.environ, shell=True, cwd=self.path_to_selenium, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
其中to_execute
是java -jar selenium-server.jar -userExtensions user-extensions.js -port 4444
我可以补充一点,我已经尝试将shell=False
弄乱了,删除了stdio并通过`/ bin / bash -c'启动了,没有不同的结果
关于我所缺少的任何想法吗?
尝试将to_execute
设置为列表而不是字符串,例如:
to_execute = [
'java',
'-jar', 'selenium-server.jar',
'-userExtensions', 'user-extensions.js',
'-port', '4444']
我将简单地接受这个问题与python不相关,而与我的框架有关。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.