最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

selenium4自動(dòng)化測(cè)試八大定位高級(jí)用法

2023-04-24 09:39 作者:大牛測(cè)試技術(shù)  | 我要投稿

? ? ? ? Selenium提供了8種不同的定位方法,分別通過id、name、xpath、class name、tag name、link_text、partial link text及css selector進(jìn)行定位。在Selenium4.0版本中,定位方法find_element_by_xx被丟棄,采用find_element()方法。具體的使用細(xì)節(jié)將在本節(jié)中詳細(xì)介紹。

  • id定位

    HTML Tag的id屬性值是唯一的,故不存在根據(jù)id定位多個(gè)元素的情況。以“l(fā)ogin.html”頁面用戶名輸入“大牛測(cè)試”為例。用戶名 id屬性值為“dntest”,如下圖1-1所示:

圖1-1

“find_element”方法來定位用戶名文本框,需傳入兩個(gè)參數(shù),By.ID即通過ID定位元素,另一個(gè)參數(shù)為id值,代碼如下:

  • name 定位

    上圖1-1所示,其name屬性值為“daniu”,方法By.NAME表示通過name來定位,代碼如下:

  • class定位

    以login.html密碼框?yàn)槔?,如圖1-1所示,其class屬性值為“passwd”,在“find_element”方法中參數(shù)使用By.CLASS_NAME,另一參數(shù)為“passwd”,代碼如下:

注意:上例中,用戶名也有class屬性“f-text phone-input”,因有空格不能直接使用,可以取部分f-text或phone-input進(jìn)行定位,代碼如下:

  • link_text定位

? ? ? ?link_text是以超鏈接全部名字作為關(guān)鍵字來定位元素的。以login.html頁面“上傳資料頁面”超鏈接為例如圖1-2所示?:

圖1-2

代碼如下:

  • partial_link_text定位

? ? ? 即用超鏈接文字的部分文本來定位元素,類似數(shù)據(jù)庫的模糊查詢。以“上傳資料頁面”超鏈接為例,取“上傳資料”便可執(zhí)行,即取超鏈接全部文本的一個(gè)子集。代碼如下:

  • css定位

    CSS定位的優(yōu)點(diǎn)是速度快、語法簡潔。圖1-3中的內(nèi)容出自W3School的CSS參考手冊(cè)。CSS定位的選擇器有十幾種,在本節(jié)中主要介紹幾種比較常用的選擇器

圖1-3

以class選擇器為例,實(shí)現(xiàn)用戶名框輸入“大牛測(cè)試”,代碼如下:

由上可知id定位語法結(jié)構(gòu)為:#id名。實(shí)現(xiàn)在用戶名框輸入“大牛測(cè)試”,代碼如下:

通過常規(guī)的標(biāo)簽名稱來定位,如用戶名框標(biāo)簽為“input”,在標(biāo)簽內(nèi)部又設(shè)置了屬性值為“name=wd’”,測(cè)試代碼如下。


  • xpath 定位

1.XPath簡介

XPath是XML Path語言的縮寫,是一種用來確定XML文檔中某部分位置的語言。它在XML文檔中通過元素名和屬性進(jìn)行搜索,主要用途是在XML文檔中尋找節(jié)點(diǎn)。XPath定位比CSS定位有更大的靈活性。XPath可以向前搜索也可以向后搜索,而CSS定位只能向前搜索,但是XPath定位的速度比CSS慢一些。

XPath語言包含根節(jié)點(diǎn)、元素、屬性、文本、處理指令、命名空間等。以下文本為XML實(shí)例文檔,用于演示XML的各種節(jié)點(diǎn)類型,便于理解XPath。

其中<animalList>為文檔節(jié)點(diǎn),也是根節(jié)點(diǎn);<name>為元素節(jié)點(diǎn);type=“mammal”為屬性節(jié)點(diǎn)。

節(jié)點(diǎn)之間的關(guān)系:

父節(jié)點(diǎn)。每個(gè)元素都有一個(gè)父節(jié)點(diǎn),如上面的XML示例中,animal元素是name、size,以及action元素的父節(jié)點(diǎn)。

子節(jié)點(diǎn)。與父節(jié)點(diǎn)相反,這里不再贅述。

兄弟節(jié)點(diǎn),有些也叫同胞節(jié)點(diǎn)。它表示擁有相同父節(jié)點(diǎn)的節(jié)點(diǎn)。如上代碼所示,name、sizeaction元素都是同胞節(jié)點(diǎn)。

先輩節(jié)點(diǎn)。它是指某節(jié)點(diǎn)的父節(jié)點(diǎn),或者父節(jié)點(diǎn)的父節(jié)點(diǎn),以此類推。如上代碼所示,name元素節(jié)點(diǎn)的先輩節(jié)點(diǎn)有animalanimalList。

后代節(jié)點(diǎn)。它表示某節(jié)點(diǎn)的子節(jié)點(diǎn)、子節(jié)點(diǎn)的子節(jié)點(diǎn),以此類推。如上代碼所示,animalList元素節(jié)點(diǎn)的后代節(jié)點(diǎn)有animal、name等。

2.XPath語法

XPath來自于XML,又由于HTML語言的語法和XML比較接近,故XPath也支持定位HTML頁面元素。下面以login.html登錄為例,采用絕對(duì)路徑與相對(duì)路徑演示。網(wǎng)頁元素如圖1-4所示

圖1-4

(1) 絕對(duì)路徑即完整的路徑,如login.html頁面登錄框,絕對(duì)路徑為“html/body/form/input[1]”,完整代碼如下:

(2) 相對(duì)路徑方式,以相對(duì)路徑 以//開頭,從任何元素節(jié)點(diǎn)解析,“*”號(hào)表示通配符皮匹配任何元素節(jié)點(diǎn),“.”為選取當(dāng)前節(jié)點(diǎn),“..” 選取當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn),實(shí)現(xiàn)在login.html頁面登錄框輸入“測(cè)試”,代碼如下

除以上常規(guī)方法定位,部分復(fù)雜控件需要采用模糊定位,用 starts-with與contains

starat-with以某個(gè)屬性值開始,如login.html用戶名為例,id為dntest,可取部分id如dnt代碼如下:

contains包含某個(gè)屬性值,如login.html用戶名為例,可取部分id如nte,代碼如下:

  • tag_name定位

tag_name定位即通過標(biāo)簽名稱定位,常用于復(fù)合定位,如圖1-5所示,定位標(biāo)簽“form”并打印標(biāo)簽屬性值“name”。

圖1-5


selenium4自動(dòng)化測(cè)試八大定位高級(jí)用法的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
九台市| 澜沧| 二手房| 固阳县| 乐都县| 盐城市| 中牟县| 保康县| 苏尼特左旗| 旌德县| 上高县| 大安市| 淮阳县| 甘洛县| 兴海县| 横峰县| 连平县| 开阳县| 布尔津县| 和田县| 丹阳市| 谢通门县| 成都市| 巫山县| 永康市| 萨迦县| 凤庆县| 汨罗市| 道真| 旅游| 万荣县| 景东| 皮山县| 游戏| 平度市| 股票| 苏尼特左旗| 资溪县| 四子王旗| 莫力| 贵州省|