我們能否在一個頁面中為相同的 Web 元素變量存儲不同的定位器 ( xpath, css, id, ) 類型。我知道,我們不能在類頁面中存儲具有相同邏輯名稱的不同定位器,但是我們可以用不同的定位器類型引用相同的邏輯名稱嗎?namePOMPOMfile.POM
2 回答

蕭十郎
TA貢獻1815條經驗 獲得超13個贊
我可以想到 2 個不同的選項,如下所述
假設頁面中有一個保存按鈕
定義所有 4 種方法來單擊并調用您想要的任何方法
myPage.save.clickbyXPath myPage.save.clickbyCSS myPage.save.clickbyName myPage.save.clickbyId
將參數傳遞給 POM
myPage.save.click (clickby) // clickby "xPath", "CSS", "id", "name"
在側 POM 中使用 switch 調用 appr 方法。

慕桂英4014372
TA貢獻1871條經驗 獲得超13個贊
我自己找到了解決方案,該解決方案更適合在新版本上更改 UI 來測試應用程序。
解決方案是在 POM 頁面中使用 @FindAll 注解,這樣我們就可以為一個邏輯名稱鏈接不同的定位器。將來如果 xpath 失敗,則可能是 ID 或名稱或 Css 選擇器將起作用,這實際上減少了更改對象存儲庫的返工。
添加回答
舉報
0/150
提交
取消