Debugging 使用WebStorm的Gulp任务调试量角器测试

Debugging 使用WebStorm的Gulp任务调试量角器测试,debugging,gulp,protractor,webstorm,Debugging,Gulp,Protractor,Webstorm,我使用gulp任务运行量角器测试,并通过gulp任务中的所有参数,如: gulp protractor-integration --useProxy=true --baseUrl=http://10.222.25.18:81 --apiUrl=10.124.22.213:8080 --suite=tests 我尝试在WebStorm中为Gulp设置一个配置,并在那里传递所有参数。当我点击run时,将执行正确的测试。 当我设置一个断点并点击debug时,测试就会执行,WebStorm不会在断点处

我使用gulp任务运行量角器测试,并通过gulp任务中的所有参数,如:

gulp protractor-integration --useProxy=true --baseUrl=http://10.222.25.18:81 --apiUrl=10.124.22.213:8080 --suite=tests
我尝试在WebStorm中为Gulp设置一个配置,并在那里传递所有参数。当我点击run时,将执行正确的测试。 当我设置一个断点并点击debug时,测试就会执行,WebStorm不会在断点处停止

WebStorm中用于调试的Gulp配置不起作用。样图


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

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

要做到这一点,您需要相应地更改
node\u modules/gulp-degrator/index.js
。例如,如下修改
childProcess.fork
调用将使用
--inspect brk=5860启动量角器:

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