You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode调试WebdriverIO TypeScript测试框架反复失败求助

WebdriverIO + TypeScript调试异常:仅重启后首次可用,后续显示“Waiting for the debugger to disconnect.”

问题详情

调试基于WebdriverIO的TypeScript测试框架时,启动调试后仅输出- Waiting for the debugger to disconnect.,无法正常执行测试。仅在重启机器后的第一次调试能成功运行,后续重复尝试均出现相同问题。

我的launch.json配置:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [{
        "type": "node",
        "request": "launch",
        "skipFiles": [
            "<node_internals>/**"
        ],
        "outputCapture": "std",
        "name": "Launch Program",
        "program": "${workspaceRoot}/node_modules/@wdio/cli/bin/wdio.js",
        "args": ["${workspaceRoot}/build/main/config/wdio.conf.js"],
         "preLaunchTask": null,
        "sourceMaps": true,
        "outFiles": [
            "${workspaceFolder}/out/**/*.js"
        ],
        "resolveSourceMapLocations": [ //code to avoid 'Could not read sourcemaps' issues
            "${workspaceFolder}/**",
            "!**/node_modules/**"
        ]
    }]
}

控制台日志:

C:\Program Files\nodejs\node.exe .\node_modules@wdio\cli\bin\wdio.js
C:\Automation\angular_ui-auto-framework/build/main/config/wdio.conf.js

Debugger attached.   Execution of 1 workers started at
2022-12-21T15:25:32.199Z   [2022-12-21 20:55:32:902] - DONE - File
'c:\Automation\angular_ui-auto-framework\src\osr_ui-automation\Results\testReport.json'
is deleted successfully    Waiting for the debugger to disconnect...


解决方法

1. 检查并释放调试端口占用

Node调试默认使用9229端口,若测试结束后残留进程未释放端口,会导致后续调试失败。

  • 打开命令提示符执行:
    netstat -ano | findstr :9229
    
  • 找到输出中的PID,打开任务管理器结束对应进程。

2. 修改launch.json配置优化调试行为

添加restart和console配置,确保调试器自动清理残留进程并正确输出:

{
    "version": "0.2.0",
    "configurations": [{
        "type": "node",
        "request": "launch",
        "skipFiles": ["<node_internals>/**"],
        "outputCapture": "std",
        "name": "Launch Program",
        "program": "${workspaceRoot}/node_modules/@wdio/cli/bin/wdio.js",
        "args": ["${workspaceRoot}/build/main/config/wdio.conf.js"],
        "preLaunchTask": null,
        "sourceMaps": true,
        "outFiles": ["${workspaceFolder}/out/**/*.js"],
        "resolveSourceMapLocations": [
            "${workspaceFolder}/**",
            "!**/node_modules/**"
        ],
        "restart": true,
        "console": "integratedTerminal"
    }]
}

3. 确保测试完成后终止进程

在wdio.conf.js中添加onComplete钩子,强制结束测试进程:

exports.config = {
    // 现有配置...
    onComplete: () => {
        process.exit(0);
    }
};

4. 更新依赖版本

确保Node.js为稳定版,同时更新WebdriverIO及相关依赖:

npm update @wdio/cli @wdio/local-runner typescript

内容的提问来源于stack exchange,提问作者varun Raj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 22:45:41