我们目前已在browserstack插件的帮助下,在多个操作系统的多个浏览器中,karma-browserstack-launcher
远程切换到远程运行单元测试。
目前测试运行的输出如下:
$ grunt unit:remote
Running "unit:remote" task
Running "karma:remote" (karma) task
INFO [karma]: Karma v0.12.23 server started at http://localhost:9876/
INFO [launcher]: Starting browser firefox 21.0 (OS X Mountain Lion) on BrowserStack
INFO [launcher]: Starting browser iPhone 5 (ios 6.0) on BrowserStack
INFO [launcher]: Starting browser android (android 4.1) on BrowserStack
INFO [launcher]: Starting browser ie 8.0 (Windows 7) on BrowserStack
INFO [launcher]: Starting browser ie 9.0 (Windows 7) on BrowserStack
INFO [launcher]: Starting browser chrome latest (OS X Mavericks) on BrowserStack
INFO [launcher]: Starting browser PhantomJS
PhantomJS 1.9.7 (Mac OS X): Executed 70 of 70 SUCCESS (0.063 secs / 0.275 secs)
Chrome 37.0.2062 (Mac OS X 10.9.0): Executed 70 of 70 SUCCESS (0 secs / 0.452 secs)
Mobile Safari 6.0.0 (iOS 6.1.4): Executed 70 of 70 SUCCESS (1.161 secs / 0.839 secs)
Firefox 21.0.0 (Mac OS X 10.8): Executed 70 of 70 SUCCESS (1.175 secs / 0.496 secs)
...
每个浏览器都会报告的执行时间。
有没有办法在控制台上看到总执行时间?
仅供参考,这是我们正在使用的karma config。
答案 0 :(得分:5)
我已经分叉 karma插件并在karma browserStack config
中添加了一个 extraLog 选项,以便在所有浏览器完成后获取更多信息,包括总数所有浏览器的执行和净时间。
我主要使用的browser_complete event
emitter
为我提供浏览器的total
和net
时间。
emitter.on('browser_complete', function (data) {
result.browsers.push({ name: data.name, time: data.lastResult.totalTime });
result.time.net += data.lastResult.netTime;
result.time.total += data.lastResult.totalTime; //this is what we want
});
在这里使用三个浏览器示例输出(抱歉,我还不是设计师):
与 time-grunt 相比,这可以让您获得更准确的结果。
您可以在 feature-extra-logs 分支上查看代码here。
我真的不知道您希望(以及最佳实践)如何将此部署给您,因为我认为将其合并到上游并不足够有趣,但我可能错了。
答案 1 :(得分:3)
不是特定于特定于业力的,但您可以使用https://github.com/sindresorhus/time-grunt来查看整个单元:远程任务需要多长时间。
只需从readme.md进行复制,即可使用
进行安装npm install --save-dev time-grunt
然后将您的gruntfile编辑为
// Gruntfile.js
module.exports = function (grunt) {
// require it at the top and pass in the grunt instance
require('time-grunt')(grunt);
grunt.initConfig();
}
然后,当您运行grunt任务时,您应该获得如下输出: