自動化之appium元素定位

2021-10-12 05:15:25 字數 1713 閱讀 4682

一.webdriver的定位方式

androiduiautomator是乙個強有力的元素定位方式,它是通過android uiautomator類庫去找元素

通過androiduiautomator 又可以使用其中的 new uiselector()…訪問控制項,例如:

1.classname( 即class屬性)

driver.findelementbyandroiduiautomator(「new uiselector().classname(「android.widget.imagebutton」)」);

2.description(即content-desc屬性)

driver.findelementbyandroiduiautomator(「new uiselector().description(「美食」)」)

3.text(即text屬性)

driver.findelementbyandroiduiautomator(「new uiselector().text(「登入」)」);

resourceid(即resource-id屬性)

driver.findelementbyandroiduiautomator(「new uiselector().resourceid(「com.sankuai.meituan:id/category」)」);

三.根據xpath定位

當元素具有唯一性,使用xpath根據text內容進行定位(常用)

driver.findelementbyxpath("//*[@text=『登入』]").click();

//與上一行**相比,多了一層限定條件(也就是標籤名:即class屬性),查詢效率會高些吧~

driver.findelementbyxpath("登入』]").click();

//你也可以只需模糊匹配

driver.findelementbyxpath("登』)]").click();

四. 相對定位-父節點、兄弟節點

相對定位就是先定位到乙個比較容易定位到的元素,在相對於這個定位進行定位

使用方法:

following-sibling:: 找到當前節點的後面乙個節點,也就是弟弟節點

preceding-sibling:: 找到當前節點的前面的乙個節點,也就是哥哥節點

parent:: 或者 …(兩個點) 找到當前節點的父節點

//當前節點的下乙個節點

android.view.view[@text=「理財產品詳情」]/following-sibling::android.view.view

//當前節點的上乙個節點

android.view.view[@text=『理財產品詳情』]/preceding-sibling::android.view.view

//當前節點的父節點,一般用於單選框或文字比較多的情況

android.view.view[contains(@text,『本人已閱讀並同意接受該產品的』)]/parent::android.view.view

//父節點和兄弟節點結合使用

android.widget.textview[ @text=「加入購物車」]/…/…/…/following-sibling::android.view.view[2]/android.view.view/android.widget.textview

Web自動化之元素定位

前提 元素或屬性必須唯一 八種元素定位方式 id,name,link text,partial link text,xpath,css,class name,tag name 1 id 定位 html規定id 是唯一標識 每個 id都是不一樣的 這類似公民的身份證號,具有很強的唯一性。定位 name...

appium自動化中元素定位碰到的問題一

xpath android.android.widget.linearlayout 5 android.widget.linearlayout 2 t android.widget.edittext 1,首先 xpath定位的時候,數字是從1開始計算的,不是從0開始計算的。上面例子中的 5 和 2 ...

web自動化測試之元素定位

貼吧 序號 方式 舉例 1通過id定位 driver.find element by id kw 2通過name定位 find element by name wd 3通過class定位 find element by class name s ipt 4通過xpath定位 find element...