文章詳情頁
測試自動化html元素選擇器元素ID或DataAttribute [關閉]
瀏覽:107日期: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. node.js - mysql如何通過knex查詢今天和七天內的匯總數據2. mysql 插入數值到特定的列一直失敗3. 360瀏覽器與IE瀏覽器有何區別???4. Python從URL中提取域名5. mysql - 百萬行的表中是否盡量避免使用update等sql語句?6. python - 在使用Pycharm時經常看到如下的樣式,小括號里紅色的部分是什么意思呢?7. javascript - 新浪微博網頁版的字數限制是怎么做的8. 怎么在網頁中設置圖片進行左右滑動9. javascript - 豆瓣的這個自適應是怎么做的?10. javascript - 用jsonp抓取qq音樂總是說回調函數沒有定義
排行榜
