我使用 Travis/SauceLabs 进行了测试。现在我想在我的仓库中添加一个 SauceLabs 测试徽章。
我将徽章降价添加到我的自述文件中,但是如何将构建通过/失败发送到 SauceLabs?我找到了有关 Selenium 的说明,
键: 通过
值类型:布尔
示例:“通过”:真
但是如何/在哪里为我的 Grunt-Karma/Travis/SauceLabs 测试在我的文件中添加信息?
Karma-Sauce-Launcher 使用了错误id
的 ,这个 PR在 Github 上修复了这个问题,并在 NPM 中作为版本发布0.2.5
此外,除了现有的或默认的之外,必须将 saucelabs 报告器添加到 gruntfile 选项中progress
。
所以我添加到我的 package.json 中的错误修复:
"karma-sauce-launcher": "~0.2.5"
并添加了这个:
reporters: ['progress', 'saucelabs'],
在业力选项中。
您必须使用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 时,它还不知道测试结果将是什么。
如果您已经在使用 Grunt,则应该使用https://github.com/axemclion/grunt-saucelabs,因为它是 SauceLabs 的开发人员开发的官方插件。