使用WebdriverIO测试Tauri应用时遇空白窗口及元素定位失败问题
问题排查与修复方案
以下是针对你遇到的Edge窗口空白、元素定位失败问题的具体排查点和解决方法:
端口配置需保持一致
你修改了wdio.conf.js的端口为4445,但必须同步给tauri-driver启动命令加上--port 4445参数。默认tauri-driver使用4444端口,端口不匹配会导致WDIO无法连接到正确的驱动服务,进而打开空白的data:,页面。启动驱动时执行:tauri-driver --port 4445版本兼容性问题
Tauri-Driver 0.1.2属于旧版本,和EdgeDriver 110可能存在兼容性冲突:- 要么降级EdgeDriver到与Tauri-Driver 0.1.2匹配的版本(比如EdgeDriver 109或更早);
- 要么升级Tauri-Driver到最新稳定版,新版本会适配较新的浏览器驱动版本。
检查WDIO的Capabilities配置
确认wdio.conf.js的capabilities中是否正确配置了Tauri应用路径,缺少这个配置会导致WDIO启动普通Edge而非连接Tauri应用:capabilities: [{ browserName: 'MicrosoftEdge', 'tauri:options': { application: './src-tauri/target/debug/hello_tauri.exe' // 替换为你的实际应用可执行文件路径 } }]添加页面加载等待逻辑
即使应用正常启动,也可能因加载延迟导致元素未就绪。在测试用例中添加显式等待:await browser.waitUntil(async () => { const targetH1 = await $('body > h1'); return targetH1.isDisplayed(); }, { timeout: 5000, timeoutMsg: '页面h1元素未加载完成' });验证Tauri应用本身状态
先手动启动构建好的Tauri应用,确认body > h1元素确实存在;同时查看tauri-driver启动日志,排查是否有应用路径错误、权限不足等启动失败的提示。
内容的提问来源于stack exchange,提问作者user686368
相关产品推荐
相关产品推荐

