文章詳情頁(yè)
測(cè)試自動(dòng)化html元素選擇器。元素ID或DataAttribute [關(guān)閉]
瀏覽:114日期:2024-04-22 08:44:46
如何解決測(cè)試自動(dòng)化html元素選擇器。元素ID或DataAttribute [關(guān)閉]?
這接近于基于意見(jiàn),這是應(yīng)該有助于做出選擇的總結(jié)。
這是一種 常見(jiàn) 的和熟悉的給大家做測(cè)試自動(dòng)化 的方式來(lái)定位元素通常,這是在頁(yè)面上定位元素的 最快 方法,因?yàn)槲鴷?huì)降低其執(zhí)行速度document.getElementById(),而硒是由現(xiàn)代瀏覽器優(yōu)化的(盡管,端到端UI測(cè)試的性能通常并不關(guān)鍵)它是每種硒語(yǔ)言綁定中的 內(nèi)置 定位器如果您要使用Firebug或Chrome開(kāi)發(fā)者工具-CSS選擇器和XPath生成工具通常會(huì)id盡可能使用元素的s 提供更強(qiáng)大的定位器您將構(gòu)建較短的CSS選擇器和XPath表達(dá)式。例如#myid .someclass反對(duì)[automation-id=myid] .someclass。例如,如果將automation-id屬性添加到所有所需的元素,則將在某種程度上對(duì)名稱(chēng)空間/作用域進(jìn)行測(cè)試自動(dòng)化-每個(gè)人都將僅從屬性名稱(chēng)知道這是什么。意思是,您將大大減少開(kāi)發(fā)人員有意更改屬性的可能性,而不是id屬性,屬性也可以并且通常也用于應(yīng)用程序客戶(hù)端邏輯(請(qǐng)參閱此和此答案)另外,這是一些相關(guān)的線(xiàn)程:
使用Selenium時(shí),是否在所有標(biāo)準(zhǔn)實(shí)踐中都添加了ID?測(cè)試中識(shí)別元素的能力勝于ID解決方法我目前在UI測(cè)試自動(dòng)化的元素上放置了一些ID。這些ID僅用于測(cè)試。我應(yīng)該添加數(shù)據(jù)屬性,而不是使其對(duì)將來(lái)的開(kāi)發(fā)人員更具可讀性(data-testHandle=“ mybutton”),還是應(yīng)該堅(jiān)持使用ID。
w3.org說(shuō):
定制數(shù)據(jù)屬性旨在存儲(chǔ)頁(yè)面或應(yīng)用程序?qū)S玫亩ㄖ茢?shù)據(jù),對(duì)于這些數(shù)據(jù),沒(méi)有更多合適的屬性或元素。
我傾向于保留ID,但是我中的某些人認(rèn)為將來(lái)的開(kāi)發(fā)人員會(huì)認(rèn)為ID未被使用并刪除它們。
這里有任何最佳做法。謝謝。
標(biāo)簽:
HTML
上一條:與遠(yuǎn)程瀏覽器通信時(shí)出錯(cuò)。它可能已經(jīng)死了。Selenium Web驅(qū)動(dòng)程序下一條:從Selenium RC遷移到Webdriver的明顯原因。
相關(guān)文章:
1. 在應(yīng)用配置文件 app.php 中找不到’route_check_cache’配置項(xiàng)2. html按鍵開(kāi)關(guān)如何提交我想需要的值到數(shù)據(jù)庫(kù)3. HTML 5輸入框只能輸入漢字、字母、數(shù)字、標(biāo)點(diǎn)符號(hào)?正則如何寫(xiě)?4. javascript - 請(qǐng)教如何獲取百度貼吧新增的兩個(gè)加密參數(shù)5. gvim - 誰(shuí)有vim里CSS的Indent文件, 能縮進(jìn)@media里面的6. 跟著課件一模一樣的操作使用tp6,出現(xiàn)了錯(cuò)誤7. PHP類(lèi)屬性聲明?8. javascript - JS請(qǐng)求報(bào)錯(cuò):Unexpected token T in JSON at position 09. objective-c - ios 怎么實(shí)現(xiàn)微信聯(lián)系列表 最好是swift10. java - 安卓接入微信登錄,onCreate不會(huì)執(zhí)行
排行榜

熱門(mén)標(biāo)簽