将构建状态从Travis发送到Sauce Labs

时间:2014-03-28 10:54:42

标签: selenium gruntjs travis-ci karma-runner saucelabs

我正在测试并运行Travis / SauceLabs。现在我想在我的仓库中添加一个SauceLabs测试徽章。

我在自述文件中添加了徽章降价,但是如何将构建通过/失败发送到SauceLabs?我找到了this instructions的Selenium,

  

密钥:已通过
  价值类型: bool
  示例:“传递”:true

但我如何/在哪里为我的Grunt-Karma / Travis / SauceLabs测试添加信息?

3 个答案:

答案 0 :(得分:2)

Karma-Sauce-Launcher使用错误的id,这已在this PR修复了Github,并在NPM中以版本0.2.5

发布

除了现有的选项或默认的progress之外,还必须将saucelabs报告者添加到gruntfile选项中。

所以我添加到package.json中的错误修正:

"karma-sauce-launcher": "~0.2.5"

并添加了这个:

reporters: ['progress', 'saucelabs'],

在Karma选项中。

答案 1 :(得分:1)

您必须使用REST API。你要做的是在测试套件最后执行的函数中添加代码,并知道测试运行的结果。此代码必须执行与此curl命令等效的查询:

$ curl -H "Content-Type:text/json" -s -X PUT -d '{"passed": <status>}' http://<username>:<key>@saucelabs.com/rest/v1/<username>/jobs/<job-id>

(尖括号中的标识符必须替换为适当的值。)

我用Python完成了它但我没有JavaScript代码可以共享。顺便说一句,你也必须为Selenium做这件事,因为正如文档所述,当Selenium将工作数据发送给Sauce Labs时,它还不知道测试结果会是什么。

答案 2 :(得分:1)

如果你已经在使用Grunt,你应该使用https://github.com/axemclion/grunt-saucelabs,因为它是来自SauceLabs的开发人员处理的官方插件。