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

时间:2018-03-02 09:59:46

标签: debugging gulp protractor webstorm

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

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

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

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

image

1 个答案:

答案 0 :(得分:1)

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) {
...