Selenium-side-runner RegEx返回NULL

问题描述

运行一个测试以从文本中提取验证码,在Selenium IDE中执行,它返回该代码,但是在selenium-side-runner中执行时,我收到d,d,d或null,请看下面的屏幕截图

enter image description here

和来自cli

enter image description here

使用的字符串

return (${sms}.match(/\d+/g));
var regex = (/\d+/g); var sms = ${sms}; var code = sms.match(regex);return (code);
var regex = (/\d+/g); var sms = ${sms}; var code = sms.match(regex);return Number(code);
var regex = (/\d+/g); var sms = ${sms}; var code = sms.match(regex);var integer = parseInt(code,10); return (integer);

不确定我在做什么错,期望cli像在IDE中一样返回提取的代码

SIDE文件的完整代码

{
  "id": "0b994070-c80e-4d08-a47c-80acfa2cfabe","version": "2.0","name": "sms","url": "https://google.com/","tests": [{
    "id": "fcd3a0c3-318a-413c-93a9-67d2a6d16afd","commands": [{
      "id": "b5660f01-72af-4406-825b-318d87309f4e","comment": "","command": "store","target": "Your verification code is: 149599. Your code will expire in five minutes. Please do not reply.","targets": [],"value": "sms"
    },{
      "id": "f2273604-d068-4164-9341-5d0c317995cf","command": "executeScript","target": "return (${sms}.match(/\\d+/g));","value": "verificationCode1"
    },{
      "id": "ef17e1ef-69e1-400b-94db-6b1e42c5ed44","command": "echo","target": "verificationCode1 ${verificationCode1}","value": ""
    },{
      "id": "40fc2f41-ed06-4b53-9322-87425a90db18","target": "var regex = (/\\d+/g); var sms = ${sms}; var code = sms.match(regex);return (code);","value": "verificationCode2"
    },{
      "id": "34838fd8-ea17-48df-b271-6cb48c36add3","target": "verificationCode2 ${verificationCode2}",{
      "id": "9ffdbf87-cf35-47fe-bd1b-c8d6c172aa20","target": "var regex = (/\\d+/g); var sms = ${sms}; var code = sms.match(regex);return Number(code);","value": "verificationCode3"
    },{
      "id": "fd668254-6c3d-4fed-8ccb-ee8d7d219314","target": "verificationCode3 ${verificationCode3}",{
      "id": "df97f204-1836-4096-8832-63f96bb7d489","target": "var regex = (/\\d+/g); var sms = ${sms}; var code = sms.match(regex);var integer = parseInt(code,10); return (integer);","value": "verificationCode4"
    },{
      "id": "299f2afc-c5a3-4740-b340-62bc60b4fdaa","target": "verificationCode4 ${verificationCode4}","value": ""
    }]
  }],"suites": [{
    "id": "b84e7765-fa32-4bd2-bcb7-4ee89a5b0e10","persistSession": false,"parallel": false,"timeout": 300,"tests": ["fcd3a0c3-318a-413c-93a9-67d2a6d16afd"]
  }],"urls": ["https://stackoverflow.com/","https://google.com/"],"plugins": []
}

解决方法

所以看起来match()失败了,但是设法使用replace()获取了代码

有效的字符串:return (${sms}.replace(/[^0-9]+/g,""));

GUI enter image description here

CLI enter image description here

var sms = "Your verification code is: 149599. Your code will expire in five minutes. Please do not reply."
console.log("SMS = " + sms)
var code = sms.replace(/[^0-9]+/g,"")
console.log("Code = " + code)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...