一.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...