使用WDIO5+Cucumber+Selenium,求写匹配指定数字模式的JS步骤文件
WDIO5+Cucumber匹配指定数字格式的步骤实现
1. 编写Gherkin特性文件
先定义覆盖三种目标格式的场景:
Feature: 数字格式校验 Scenario Outline: 验证合法数字格式 Given 页面显示数字 "<number>" Then 数字格式符合要求 Examples: | number | | 52.27 | | .27 | | 2.27 |
2. 实现JavaScript步骤文件
结合正则表达式匹配目标格式,编写WDIO5兼容的步骤代码:
const { Given, Then } = require('cucumber'); Given(/^页面显示数字 "([^"]*)"$/, async function (number) { // 替换为实际页面元素定位逻辑,示例: // this.targetNumber = await $('.number-display').getText().trim(); this.targetNumber = number; // 用传入值模拟,实际需替换为页面元素文本获取 }); Then(/^数字格式符合要求$/, async function () { // 正则规则:允许开头0个或多个整数,必须带小数点且后跟两位小数 const validPattern = /^\d*\.\d{2}$/; // 使用WDIO内置断言验证格式 expect(this.targetNumber).toMatch(validPattern); });
关键说明
- 正则
^\d*\.\d{2}$的细节:^和$确保匹配整个字符串,避免部分匹配的情况\d*匹配0个或多个整数位,刚好适配.27这种无整数部分的格式\.转义后匹配真实的小数点(正则中.默认匹配任意字符)\d{2}强制匹配两位小数,完全覆盖你给出的三种数字模式
- 实际落地时,务必把Given步骤里的模拟代码替换为真实的页面元素定位逻辑,比如通过CSS选择器、XPath获取目标数字的文本内容。
内容的提问来源于stack exchange,提问作者Naomy
相关产品推荐
相关产品推荐

