Taiko + Gauge自動化測試過程中的問題:
報錯如下:Error Message: Error: Element matching text "查詢" is covered by other element
元素匹配的文本“查詢”被其他元素覆蓋
由于以前查詢按鈕可以找到,但是現在找不到了磺送,當前頁面查詢按鈕唯一驻子,猜測是查詢按鈕被遮擋住了。
首先筆者想到的解決辦法是估灿,再打開被測系統(tǒng)后崇呵,修改瀏覽器的縮放率為75%來達到查詢按鈕不被遮擋的效果,故添加代碼如下:
await evaluate(link(""), (element) => document.body.style.zoom = "75%")
引入:evaluate, link
修改完成執(zhí)行仍然報錯甲捏,報錯如下:Error Message: Error: Element with text XXX not found
系統(tǒng)連登陸都失敗了演熟。
緊接著,筆者突然想起來司顿,之前使用taiko命令去點擊頁面芒粹,有個按鈕click()時常點不到,把縮放率恢復成默認的100%大溜,就能點到了化漆。
再試一下修改瀏覽器內的渲染視圖大小,代碼如下: await setViewPort({width:2880, height:1080})
引入:setViewPort
問題解決钦奋。
瀏覽器分為BOM和DOM座云,前面筆者是修改BOM疙赠,現在修改的DOM外層的渲染視圖。taiko用的是devtools技術朦拖,理論上存在就可以點圃阳,不過修改BOM也許會偏移。
BOM是瀏覽器對象模型璧帝,DOM是文檔對象模型捍岳,前者是對瀏覽器本身進行操作,而后者是對瀏覽器(可看成容器)內的內容進行操作睬隶。