使用Gulp任务和WebStorm调试Protractor测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Gulp任务和WebStorm调试Protractor测试相关的知识,希望对你有一定的参考价值。

我使用gulp任务运行我的Protractor测试,并传递gulp任务中的所有参数,如:

gulp protractor-integration --useProxy=true --baseUrl=http://10.222.25.18:81 --apiUrl=10.124.22.213:8080 --suite=tests

我试图在WebStorm for Gulp中设置配置并在那里传递所有参数。当我点击运行时,执行正确的测试。当我设置一个断点并点击调试时,执行测试并且WebStorm不会在断点处停止。

WebStorm for Debugging中的Gulp配置不起作用。样本图片

image

答案

Gulp run配置不应该用于量角器测试调试 - 它旨在运行/调试Gulp任务。要调试某些Node.js应用程序(如Protractor测试),您需要确保将调试参数(--debug-brk / inspect-brk)传递给启动应用程序的Node进程。在您的情况下,应用程序由Gulp生成为子进程。 IDE只能将调试args传递给主进程(Gulp),这就是为什么只调试Gulp任务本身而不是这些任务启动的子进程。

如果您仍然喜欢使用Gulp来开始测试而不是使用专用的Protractor运行配置,请确保使用--debug-brk / inspect-brk启动量角器过程。

这样做,你需要相应地改变node_modules/gulp-protractor/index.js。例如,如下修改childProcess.fork调用将使用--inspect-brk=5860启动Protractor:

child = childProcess.fork(getProtractorCli(), args, {
            stdio: 'inherit',
            env: process.env,
            execArgv: ['--inspect-brk=5860'] //added line
        }).on('exit', function(code) {
...

以上是关于使用Gulp任务和WebStorm调试Protractor测试的主要内容,如果未能解决你的问题,请参考以下文章

WebStorm 中的 gulp-mocha 问题

来自Webstorm的Grunt调试

在 gulp 任务后无法在 vscode 上为 typescript 运行调试器,调试器运行未编译的代码

前端脚手架是啥意思

Gulp error in WebStorm: Failed to list gulp tasks

Gulp 同步任务问题