Taiko + Gauge自动化测试过程中的问题:
报错如下:Error Message: Error: Element matching text "查询" is covered by other element
元素匹配的文本“查询”被其他元素覆盖
由于以前查询按钮可以找到,但是现在找不到了,当前页面查询按钮唯一,猜测是查询按钮被遮挡住了。
首先笔者想到的解决办法是,再打开被测系统后,修改浏览器的缩放率为75%来达到查询按钮不被遮挡的效果,故添加代码如下:
await evaluate(link(""), (element) => document.body.style.zoom = "75%")
引入:evaluate, link
修改完成执行仍然报错,报错如下:Error Message: Error: Element with text XXX not found
系统连登陆都失败了。
紧接着,笔者突然想起来,之前使用taiko命令去点击页面,有个按钮click()时常点不到,把缩放率恢复成默认的100%,就能点到了。
再试一下修改浏览器内的渲染视图大小,代码如下: await setViewPort({width:2880, height:1080})
引入:setViewPort
问题解决。
image.png
浏览器分为BOM和DOM,前面笔者是修改BOM,现在修改的DOM外层的渲染视图。taiko用的是devtools技术,理论上存在就可以点,不过修改BOM也许会偏移。
BOM是浏览器对象模型,DOM是文档对象模型,前者是对浏览器本身进行操作,而后者是对浏览器(可看成容器)内的内容进行操作。
网友评论