Verify Element Text步骤如何拼接变量验证H2元素文本
问题说明
- 原有正常运行的自动化测试用例流程:打开浏览器→跳转目标URL→输入固定IMEI值
123456789123456→校验页面H2元素文本为No Details for Device with IMEI Number 123456789123456 found - 改造内容:引入关联内部Data File(存储5条IMEI号码数据)的变量
${IMEINumber},目前Set Text步骤已成功调用该变量,但Verify Element Text步骤配置失败,当前错误配置如下:
Item Object Input Verify Element Text H2 "No Details for Device with IMEI Number " + ${IMEINumber} + " found"
- 待解决问题:
- 待校验字符串中如何正确拼接引入
${IMEINumber}变量 - 是否支持直接校验H2元素文本包含
${IMEINumber}的值,无需匹配全量文本
- 待校验字符串中如何正确拼接引入
解决方案
1. 完整文本匹配场景下的变量正确拼接方式
当前配置失效的核心原因是:低代码步骤的参数输入框默认将输入内容识别为普通字符串,不会自动执行加号拼接的表达式运算,额外添加的双引号、加号都会被当成普通文本参与匹配,必然导致校验失败。
正确配置方式:
- 手动低代码模式下:无需添加拼接符号和额外引号,直接将变量嵌入静态文本即可,输入内容为:
No Details for Device with IMEI Number ${IMEINumber} found
框架的参数解析逻辑会自动识别${}包裹的变量名,运行时替换为Data File中读取到的实际IMEI值。 - 脚本模式下对应Groovy语法写法:
// 拼接预期文本 def expectedText = "No Details for Device with IMEI Number ${IMEINumber} found" // 执行文本校验 WebUI.verifyElementText(findTestObject('你的H2元素对象路径'), expectedText)
2. 校验元素文本包含变量值的实现方式
不需要匹配完整文本、仅需确认元素文本包含目标IMEI值的场景,有两种实现方式:
- 低代码模式:直接选用内置关键字
Verify Text Present,参数配置如下:- 定位对象:选择H2页面对象
- 待查找文本:直接填入
${IMEINumber} - 超时时间:根据页面加载速度设置(通常填10即可,单位为秒)
该关键字会在指定超时时间内轮询检查元素文本,只要目标文本存在于元素内容中即判定校验通过。
- 脚本模式:先抓取元素实际文本,再做包含断言,写法参考:
// 获取H2元素实际文本 def actualText = WebUI.getText(findTestObject('你的H2元素对象路径')) // 断言文本包含目标IMEI值 assert actualText.contains(IMEINumber) : "H2元素文本中未找到目标IMEI号${IMEINumber},实际文本为:${actualText}"
注意:由于你已经在Set Text步骤成功调用
${IMEINumber}变量,说明Data File绑定、变量传值逻辑正常,按上述方式调整校验步骤配置即可正常运行,无需额外修改变量定义。
内容的提问来源于stack exchange,提问作者Mych
相关产品推荐
相关产品推荐

