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

使用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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 12:54:19