gpt4 book ai didi

java - selenium grid 2 使用xvfb 或xvnc 实现 headless 持续集成?

转载 作者:行者123 更新时间:2023-11-29 03:56:09 27 4
gpt4 key购买 nike

所以使用grid 2,每次selenium RC启动时,是否有一个配置文件来启动xvfb或xvnc。 Hub 和 Selenium RC 已经安装在单独的 linux 机器上。

另外,有没有办法实现RC上运行的selenium测试和客户端(Java客户端软件)的双向通信?例如)测试失败,因为在页面上找不到元素,需要通知客户端,客户端可以提供正确的元素。

因此 selenium web 驱动程序测试不应该停止,而是等到正确的输入或客户端终止测试。有点像一个反馈周期,以确保考虑到 Web 应用程序的所有变化。例如)具有随机生成 ID 的表单按钮,依赖于在某些页面上随机中断的 xpath。

是否可以通过指定 selenium grid 2 启动 rc 的固定时间间隔来实现持续集成?

这是否意味着我需要将 webdriver 测试扩展为 Jetty 服务器?还是网络?改为启动 selenium 网络服务?

最佳答案

为了回答您的第一个问题,我建议始终让 Xvfb 服务器在您的 RC 节点上运行。如果您正在运行 debian 或 ubuntu,您还可以使用 xvfb-run 启动您的 RC 节点:

nohup xvfb-run java -jar selenium-server-standalone-2.0rc2.jar \
-role rc \
-port 5555 \
-hub http://hub:4444/grid/register 2>&1 > selenium-rc.log &

关于双向通信。为什么不直接使用 isElementPresent() api 调用并在测试中处理此逻辑?通过在 user-extensions.js 的帮助下扩展 Selenium ,可以实现更复杂的交互和 getEval() API 调用。

Example of using getEval() api call

集线器不支持启动和停止 RC 节点。集线器的目的是调解从 selenium 客户端到 Activity RC 节点的请求。如果您不能让 RC 节点始终运行,那么您可以查看 cron。

关于java - selenium grid 2 使用xvfb 或xvnc 实现 headless 持续集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6325946/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com