gpt4 book ai didi

node.js - 通过 grunt 在实时服务器上运行 Protractor

转载 作者:太空宇宙 更新时间:2023-11-04 00:50:00 24 4
gpt4 key购买 nike

我正在尝试通过一个 grunt 任务在实时服务器上运行我的 porttractor 测试。我已经安装了 live-server ( https://www.npmjs.com/package/live-server ) 和 grunt-execute。通过 gruntexecute,我成功地用 grunt 命令分两步启动了 live-server:

我首先创建了一个 Node 脚本(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 文件中创建了一个 Protractor 任务,它也工作得很好。
(在 grunt.initConfig 中)

protractor: {
options: {
keepAlive: false,
noColor: false
},
e2e: {
options: {
configFile: 'protractor.conf.js',
}
}
},

如果我用注册的任务触发它, Protractor 测试运行得很好,只是我必须确保实时服务器首先运行。因此,我当然想将这两个命令合并到一个命令中,启动实时服务器,然后运行我的 Protractor 测试。所以我尝试了:

grunt.registerTask('runProtractor', [
'execute:liveserver',
'protractor'
]);

但不幸的是,这不起作用,实时服务器启动,然后......什么也没有发生, Protractor 测试没有运行。我尝试更改一些实时服务器参数,例如打开和等待,但没有任何运气。也没有错误消息。

正如我之前所说,这些任务都可以正常工作(有两个命令窗口,首先在一个窗口中启动实时服务器,然后在另一个窗口中启动 Protractor )

有人知道为什么我的实时服务器启动后不继续吗?

最佳答案

实时服务器的执行会阻止所有后续任务,因为它没有“完成”,即任务仍在运行,这就是它不会继续执行下一个任务的原因。您可以使用grunt-concurrent并行运行任务。

关于node.js - 通过 grunt 在实时服务器上运行 Protractor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33058650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com