如何通过Jenkins运行Dojo DOH单元测试?

Yur*_*sov 15 javascript dojo unit-testing doh jenkins

有没有人尝试将Dojo DOH单元测试与Jenkins集成?

我想做以下事情,但如果已经完成,我不想重新发明它.所以,我在想:

  1. 从Jenkins的构建后步骤开始进行DOH测试并等待结果
  2. 在无头浏览器中运行测试(例如Crowbar)
  3. 从Crowbar返回的HTML中解析成功/错误计数
  4. 查找(或编写)一个Jenkins插件,如果有失败的测试,(a)将失败,(b)渲染测试结果,(c)可能将结果集成到CI游戏插件中

问题:

  1. 以前做过吗?
  2. 您是否看到上述大纲的任何问题?
  3. 你知道Jenkins插件会有所帮助,还是我必须建立自己的插件?

syn*_*tel 3

1.自动化 Dojo 测试 - DOH 和 Selenium-RC (Rob Coup - 2008/01/03)

\n\n
\n

计划:

\n\n
    \n
  • 有一个配置文件,定义要启动哪些浏览器、它们在哪些机器上以及要运行哪些测试。
  • \n
  • 通过 Selenium-RC 启动每个浏览器
  • \n
  • 通过普通的 DOH 浏览器运行程序运行测试。
  • \n
  • 使用 Selenium 从 DOH 中提取结果。
  • \n
  • 整理来自不同浏览器的结果并产生有用的结果。
  • \n
\n\n

解决方案:

\n\n
    \n
  • 将其拖放到 Dojo 安装中的 util/doh/ 中seleniumRunner.js, seleniumRunner.config.js, seleniumRunner.sh.bat如果您使用的是 Windows,则将其拖放selenium-java-client-driver.jarutil/doh/中) 。
  • \n
  • 放置selenium-server.jar在每台测试机器上,然后运行,java -jar selenium-server.jar -multiWindow以便它侦听浏览器控制消息。
  • \n
  • 编辑seleniumRunner.config.js和更改browsersrootUrl匹配您的设置。这rootUrl每台测试机器都可以达到
  • \n
  • ./seleniumRunner.sh seleniumRunner.config.js从工作站上的util/doh/运行
  • \n
  • 它将加载配置,启动每台机器上的浏览器,从 Dojo 核心运行单元测试,并打印每台机器的通过/失败/错误统计信息。
  • \n
  • 每个浏览器都在一个单独的线程中启动和监视(不是绝对必要的,但太酷了,无法抗拒这样做)。
  • \n
\n\n

问题:

\n\n
    \n
  • 除非我在多窗口模式下运行 selenium 服务器,否则每当加载测试页时,Safari 和 Firefox 都会弹出“打印”对话框(!?!)。但如果处于多窗口模式,Safari 永远不会初始化测试页面。在 OSX 和 Windows 上。嘎啊。
  • \n
  • OSX 上的 Opera 未正确设置 Selenium 代理(localhost:4444仅供参考)。
  • \n
  • 由于某种原因,IE 不喜欢dojo.connect()通过 selenium javascript 命令执行操作。
  • \n
\n
\n\n

2. 我觉得很合理。

\n\n

3.Jenkins Selenium 插件

\n\n
\n

该插件将您的 Jenkins 集群转变为 Selenium2 Grid 集群,以便您可以利用异构 Jenkins 集群来执行 Selenium 测试。该插件是交钥匙解决方案 \xe2\x80\x94 无需额外\n 安装或配置即可使其工作。该插件会自动在所有从站上安装 Selenium Grid,并自行设置网格。

\n
\n