Error Message: Error: Element matching text "查询" is covered by other element

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是文档对象模型,前者是对浏览器本身进行操作,而后者是对浏览器(可看成容器)内的内容进行操作。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容