文章詳情頁
測試自動化html元素選擇器元素ID或DataAttribute [關閉]
瀏覽:113日期:2024-05-17 09:26:04
(adsbygoogle = window.adsbygoogle || []).push({}); 如何解決測試自動化html元素選擇器元素ID或DataAttribute [關閉]?
這接近于基于意見,這是應該有助于做出選擇的總結。
這是一種 常見 的和熟悉的給大家做測試自動化 的方式來定位元素通常,這是在頁面上定位元素的 最快 方法,因為硒會降低其執行速度document.getElementById(),而硒是由現代瀏覽器優化的(盡管,端到端UI測試的性能通常并不關鍵)它是每種硒語言綁定中的 內置 定位器如果您要使用Firebug或Chrome開發者工具-CSS選擇器和XPath生成工具通常會id盡可能使用元素的s 提供更強大的定位器您將構建較短的CSS選擇器和XPath表達式。例如#myid .someclass反對[automation-id=myid] .someclass。例如,如果將automation-id屬性添加到所有所需的元素,則將在某種程度上對名稱空間/作用域進行測試自動化-每個人都將僅從屬性名稱知道這是什么。意思是,您將大大減少開發人員有意更改屬性的可能性,而不是id屬性,屬性也可以并且通常也用于應用程序客戶端邏輯(請參閱此和此答案)另外,這是一些相關的線程:
使用Selenium時,是否在所有標準實踐中都添加了ID?測試中識別元素的能力勝于ID解決方法我目前在UI測試自動化的元素上放置了一些ID。這些ID僅用于測試。我應該添加數據屬性,而不是使其對將來的開發人員更具可讀性(data-testHandle=“ mybutton”),還是應該堅持使用ID。
w3.org說:
定制數據屬性旨在存儲頁面或應用程序專用的定制數據,對于這些數據,沒有更多合適的屬性或元素。
我傾向于保留ID,但是我中的某些人認為將來的開發人員會認為ID未被使用并刪除它們。
這里有任何最佳做法。謝謝。
標簽:
HTML
相關文章:
1. angular.js - webpack build后的angularjs路由跳轉問題2. 數組按鍵值封裝!3. java - web項目中,用戶登陸信息存儲在session中好 還是cookie中好,取決于什么?4. mysql - 查詢字段做了索引為什么不起效,還有查詢一個月的時候數據都是全部出來的,如果分拆3次的話就沒問題,為什么呢。5. mysql 新增用戶 主機名設定 失敗6. 單擊登錄按鈕無反應7. ubuntu - mysql 連接問題8. mysql federated引擎無法開啟9. mysql - 大部分數據沒有行溢出的text字段是否需要拆表10. mysql儲存json錯誤
排行榜
