【发布时间】:2015-06-25 21:03:24
【问题描述】:
我已经在本地 Jenkins 上成功运行了 Selenium 测试用例。当我在本地 jenkins 上运行测试用例时,它会打开 chrome/safari 或我机器上的任何指定浏览器来运行。 现在我想在我的公司 Jenkins 上做同样的工作。但是 Jenkins 不是在真机上设置的。所以它没有浏览器。 如何在公司 Jenkins 上运行我的套件。我不想无头奔跑。
谢谢
【问题讨论】:
我已经在本地 Jenkins 上成功运行了 Selenium 测试用例。当我在本地 jenkins 上运行测试用例时,它会打开 chrome/safari 或我机器上的任何指定浏览器来运行。 现在我想在我的公司 Jenkins 上做同样的工作。但是 Jenkins 不是在真机上设置的。所以它没有浏览器。 如何在公司 Jenkins 上运行我的套件。我不想无头奔跑。
谢谢
【问题讨论】:
您需要在安装了 jenkins 的服务器机器上运行 selenium grid。之后,您需要在您将运行浏览器的机器上的网格中运行一个注册脚本。 在运行浏览器之前,请在文件夹中准备好一些文件。 Selenium-server 和浏览器驱动(chromedriver, iedriver,随便你用。你不需要firefox)
脚本应该是这样的
cd /path/path/selenium
java -jar selenium-server-standalone-2.46.0.jar -role node -hub http://your.ip.address:4444/grid/register -browser "browserName=firefox,maxInstances=10,platform=MAC" -browser "browserName=chrome,maxInstances=10,platform=MAC" -maxSession 20 -Dwebdriver.chrome.driver=/path/path/selenium/chromedriver
您可以根据您的系统(MAC/Windows、文件路径、文件名)编辑脚本
【讨论】:
这可能是不错且有效的选项,但如果无法完成,请参考其他选项。
这些浏览器适用于测试简单功能,但不适用于高级功能测试。无头浏览器并不等同于真正的浏览器。
您可以将测试分布在不同的节点上,也可以使用网格并行运行测试。让您的 Jenkins 机器成为 Hub 并添加不同的节点来运行您的测试,请参阅 this。
虚拟机可以通过创建用于运行测试的虚拟服务器来帮助您节省硬件成本。这也可以与 Selenium Grid 结合使用。参考this。
最好使用云来运行您的测试。您不必担心浏览器和平台之类的测试环境,因为它们几乎拥有所有可能的浏览器 + 平台组合来运行您的测试。
【讨论】: