NodeJS包用于处理linux盒子上的并行无头测试,具有类似于selenium网格的功能?

时间:2011-06-12 18:33:08

标签: node.js selenium-rc npm xvfb

我需要处理在selenium独立服务器上运行并行测试的经过身份验证的多个用户,并在nodejs上发现了两个webdriver客户端。有webdriver-jswd-js。哪个更活跃可靠?任何经历?当节点或selenium更新或删除功能时,我有点担心它们会崩溃。

我不认为这些软件包中的任何一个都提到在每个测试的唯一显示号码上自动启动Xvfb。那么在驱动浏览器之前启动shell命令来运行xvfb?

以下过程是我尝试在nodejs中构建的(它基本上类似于Grid 2,但在nodejs目的是持续集成运行的测试)并寻找以下任何部分的任何包或建议。

  1. 首先使用持久双向连接(WebSockets或HTTP 1.1)对用户进行身份验证

  2. 用户在可用的硬件节点上请求运行的开始/队列测试(我将添加更多的linux盒子,因此需要一个软件包来跨“网格”分发并行测试)

  3. 监控正在运行的selenium浏览器测试并发送客户端状态更新(ex)运行/停止)

  4. 用户提交的测试需要持久且可供将来或持续集成(couchdb或mysql)

  5. 安排要连续运行的工作(例如,每隔一段时间运行)。

  6. nodejs有点矫枉过正吗?我应该只关注Java的背面吗?

1 个答案:

答案 0 :(得分:2)

https://github.com/LearnBoost/soda

这适用于香草酱实验室/ Selenium RC集成。我想象当你在像Selenium RC这样的浏览器实例中运行时,websockets应该可以工作,因为页面上的javascript被执行了。如果您正在对用户进行身份验证,您只需填写任何表单并提交(这会触发您的WS身份验证)。

我不认为nodejs对此有点过分。节点很轻巧。我不知道我只为此添加节点到我的堆栈,但它当然很方便,如果你有一个javascript的承诺,它没什么大不了的。