我已经设置了Atlassian Bamboo部署计划。其中一个步骤是运行一个命令来运行用Selenium for Python编写的自动UI测试。这是在无头Centos 6服务器上运行的。
我必须安装X-server才能模拟显示器的存在
我在系统启动时运行了以下命令,以便在机器启动时始终启动X服务器
Xvfb:1-screen 1600x900x16
export DISPLAY =:1
部署计划中的命令任务只是调用以下
/usr/local/bin/python3.5 .py
有趣的是,当我直接从命令行运行它时,它可以完美地完成UI单元测试工作。他们启动firefox并开始处理该网站。
另一方面,当通过部署命令完成此操作时,我不断收到错误“浏览器似乎已退出” 2016年4月17日14:18:23 selenium.common.exceptions.WebDriverException:消息:在我们连接之前,浏览器似乎已退出。如果您在FirefoxBinary构造函数中指定了一个log_file,请检查它是否有详细信息“好像它仍然没有感觉到有显示。
我甚至在部署作业中添加了一个任务来再次运行X-server,但是它返回时出现服务器已经运行的错误。
这是在Bamboo版本5.10.3 build 51020上完成的。
那么,为什么它会在部署工作中失败?
谢谢,
答案 0 :(得分:0)
我通过将任务类型从命令任务更改为脚本任务来解决问题。我的理解是,并非所有任务都按照在作业中定义的顺序运行。如果不是这种情况,那么它可能是Bamboo中的一个错误。