【发布时间】:2016-01-08 14:32:03
【问题描述】:
我正在尝试通过一项繁重的任务在实时服务器上运行我的移植测试。 我已经安装了 live-server (https://www.npmjs.com/package/live-server) 和 grunt-execute。通过 grunt execute,我设法通过 grunt 命令分两步启动 live-server:
第一次我创建了一个节点脚本(liveServer.js)
var liveServer = require("live-server");
var params = {
port: 8080,
host: "localhost",
open: true,
wait: 1000
};
liveServer.start(params);
第二,我在我的 grunt 文件中创建了一个任务来启动脚本: (在 grunt.initConfig 中)
execute: {
liveserver: {
src: ['liveServer.js']
},
}
并注册了一个触发它的命令:
grunt.registerTask('live', [
'execute:liveserver'
]);
现在,如果我在命令行中运行“grunt live”,实时服务器启动,打开浏览器,我可以浏览我的应用程序。
我还在我的 grunt 文件中创建了一个量角器任务,它也可以正常工作。
(在 grunt.initConfig 中)
protractor: {
options: {
keepAlive: false,
noColor: false
},
e2e: {
options: {
configFile: 'protractor.conf.js',
}
}
},
如果我用注册任务触发它,量角器测试运行得很好,只有我必须确保 live-server 首先运行。 因此,我当然想将两者结合在一个命令中,该命令启动实时服务器,然后运行我的量角器测试。 所以我尝试了:
grunt.registerTask('runProtractor', [
'execute:liveserver',
'protractor'
]);
但不幸的是,这不起作用,实时服务器启动,然后......什么也没发生,量角器测试没有运行。我尝试更改一些实时服务器参数,例如打开和等待,但没有任何运气。也没有错误消息。
正如我之前分别所说,任务都可以正常工作(使用两个命令窗口,首先在一个中启动 live-server,然后在另一个中启动量角器)
有人知道为什么我在直播服务器启动后没有继续吗?
【问题讨论】:
标签: node.js gruntjs protractor