我正在使用带有 selenium2library
的 RobotFramework 自动化 Web 应用程序。
我正在寻找同时在两台不同机器上并行执行两个不同测试套件的测试。
我尝试使用 pabot 进行并行执行。如果我在一台正在运行的机器上并行运行 3 个实例。但我想在不同的机器上运行它,为此我尝试了以下代码:-
首先我启动 hub
java -jar <selenium.jar> -role hub
(可选端口 f.e.:-port 4444)
然后我运行节点:
java -jar <selenium.jar> -role webDriver (for selenium 2 library) -hub http://<selenium hub ip>:4444/grid/register
(可选参数 remoteHost f.e.:-remoteHost http://127.0.0.1:5555) 节点可以单独运行,并由附加参数 -remoteHost 指定。这个host可以在selenium关键字Open Browser中使用
打开浏览器 |网址 |浏览器=ff |别名=无 | remote_url=假 示例:
${REMOTE_DRIVER}= Set Variable 127.0.0.1:5555/wd/hub
Open Browser www.google.com ff None ${REMOTE_DRIVER}
但在这之后,西装在不同的机器上一个接一个地运行,而不是并行。
有什么办法可以实现吗
最佳答案
要并行运行套件,需要两个组件:
Native Robot Framework 一次只支持运行 1 个套件。通过扩展,这意味着任何使用 Selenium 的机器人脚本一次只能运行 1 个套件。为了并行化,您需要并行运行多个 Robot Framework 实例。
Pabot项目是一个单独的应用程序,每个套件(文件)运行一个单独的机器人框架实例。最后,它将所有单独的日志合并到一个日志文件中。它还有一些功能,但这是核心。
根据您的描述,我认为设置了一个网格,其中多个节点已成功加入。如果是这种情况,那么使用 Grid 服务器 URL 连接到您的浏览器应该足以让节点被利用。
请确保并行 Pabot 进程的数量(它是一个参数)不超过可用 Selenium 节点的数量。
关于java - Robot框架如何在两台不同的机器上实现并行测试执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51187203/