我正在尝试使用grunt来运行Xvfb和我的量角器测试,但是当我执行我的Task protractor-xvfb时,我得到了这个回报:
正在运行的任务:protractor-xvfb警告:任务“protractor-xvfb”没有 找到。使用--force继续。
因警告而中止。
我的Gruntfile.js:
module.exports = function(grunt) {
grunt.initConfig({
protractor: {
options: {
keepAlive: true,
configFile: "protractor.conf.js"
},
run: {}
},
shell: {
xvfb: {
command: 'Xvfb :99 -ac -screen 0 1600x1200x24',
options: {
async: true
}
}
},
env: {
xvfb: {
DISPLAY: ':99'
}
}
});
grunt.registerTask('protractor-xvfb',[
'shell:xvfb',
'env:xvfb',
'protractor:run',
'shell:xvfb:kill'
]);
// assim funciona
grunt.registerTask('test', 'Test task.', function() {
grunt.log.writeln('Lorem ipsum dolor sit amet.');
});
}
当我执行我的任务测试时,它是成功的,我得到了这个回报:
OBS:我使用没有咕噜声的量角器测试工作正常。返回:正在运行的任务:测试
运行“测试”任务Lorem ipsum dolor坐下来。
完成,没有错误。
在24.753秒完成
9次测试,5次断言,0次失败
OBS2:我正在关注这个例子:Running Xvfb from Grunt
答案 0 :(得分:1)
我解决了我的问题!
首先,我的Gruntfile.js不在我的项目根目录中,我需要在靠近package.json的项目根目录中加载我的插件来运行这些测试。当我添加那些插件加载我的测试失败时,当我的Gruntfile.js走错路径时:
grunt.loadNpmTasks('grunt-shell-spawn');
grunt.loadNpmTasks('grunt-env');
grunt.loadNpmTasks('grunt-protractor-runner');
失败消息:
Registering "grunt-shell-spawn" local Npm module tasks.
>> Local Npm module "grunt-shell-spawn" not found. Is it installed?
Registering "grunt-env" local Npm module tasks.
>> Local Npm module "grunt-env" not found. Is it installed?
Registering "grunt-protractor-runner" local Npm module tasks.
>> Local Npm module "grunt-protractor-runner" not found. Is it installed?
Loading "Gruntfile.js" tasks...OK
我删除了我安装并重新安装的所有咕噜声。
我的Gruntfile在正确的路径中,我可以加载我的插件并使用Grunt + Xvfb + Protractor运行我的测试。
答案 1 :(得分:0)
我不确定这是否是核心问题,但您将shell.xvfb.command
设置为代码中包含字符串的数组,而您链接的示例只有一个字符串。