一尘不染

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

jenkins

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

我想执行以下操作,但是如果已经完成,则不想重新发明它。所以,我在想:

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

问题:

  1. 以前做过吗?
  2. 您是否对以上概述有任何疑问?
  3. 您是否知道会有所帮助的Jenkins插件,还是我必须自己构建一个插件?

阅读 225

收藏
2020-07-25

共1个答案

一尘不染

1. 自动化Dojo测试-DOH和Selenium-RC(机器人妙招-2008/01/03)

计划:

  • 有一个配置文件,用于定义要启动的浏览器,所用的计算机以及要运行的测试。
  • 通过Selenium-RC启动每个浏览器
  • 通过正常的DOH浏览器运行程序运行测试。
  • 使用硒从DOH中提取结果。
  • 整理来自各种浏览器的结果并产生有用的东西。

解:

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

问题:

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

2.对我来说似乎合理。

3. Jenkins Selenium插件

此插件可将您的Jenkins集群变成Selenium2
Grid集群,以便您可以利用异构的Jenkins集群进行Selenium测试。该插件是一站式解决方案-
无需其他安装或配置即可使其工作。该插件会自动在所有从站上安装Selenium Grid,并自行建立一个网格。

2020-07-25