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

WebDriverIO自动化测试中如何在断言中正确使用十六进制正则?

解决WebDriverIO正则断言报错“re.exec is not a function”的问题

这个报错通常是因为待匹配的目标不是字符串类型,或者正则表达式的使用方式不符合断言库要求,以下是具体解决步骤:

1. 确保待断言结果为字符串

首先确认browser.testFunction()返回的是字符串。如果它返回的是元素对象,需要先提取文本或对应属性值,比如:

// 若testFunction返回元素,先获取文本内容
const targetStr = await browser.testFunction().getText();
// 若为输入框,可获取value属性
const targetStr = await browser.testFunction().getAttribute('value');
expect(targetStr).to.match(/conda\/envs\/[0-9a-fA-F]+\/bin\/python3/);

2. 简化正则表达式(可选)

十六进制匹配可添加i标志忽略大小写,简化写法:

expect(await browser.testFunction()).to.match(/conda\/envs\/[0-9a-f]+\/bin\/python3/i);

3. 自定义断言兜底

如果上述方法仍报错,可使用satisfy方法结合正则的test方法实现自定义断言:

const targetStr = await browser.testFunction();
expect(targetStr).to.satisfy(str => /conda\/envs\/[0-9a-fA-F]+\/bin\/python3/.test(str));

内容的提问来源于stack exchange,提问作者Nik Patel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 13:32:13