1. 程式人生 > >關於UI自動化中元素定位常用方法的個人總結

關於UI自動化中元素定位常用方法的個人總結

1、如果目標元素有id屬性,優先使用id定位;

2、元素locator儘可能保證簡潔,考慮locator中路徑的變化頻率,儘量減少後期更新和維護成本;

3、使用xpath時,不要一味的使用‘/’逐層進行選擇;合理使用‘/’和‘//’,能簡化表示式;

4、儘量使用函式和運算子,如contains(),text(),position()等;運算子包括算數運算子或邏輯運算子等;

 

以下舉例xpath常用語法:

1) xpath=//img[@alt='The image alt text']

2) xpath=//table[@id='table1']//tr[n]/td[n]

3) xpath=//a[contains(text(), 'test')]      text屬性使用text()

4) xpath=//a[contains(@href, '#id1')]/a[n]       其餘屬性則使用@屬性名

5) xpath=//table[@class= 'style']//th[text()= 'xxx']/../td    其中../表示從子元素逆向定位父元素

6) xpath=//*[text()='right']

7) xpath=//*[starts-with(@href, 'xxx')]

8) xpath=//*[ends-with(@href, 'xxx')]

9) xpath=//*[matchs(text(), 'xxx')]    可使用正則表示式

10) xpath=//input[@name='name1' and @value='yes']     支援邏輯運算子and/or/not

 

以下舉例css常用語法:

1) css用#表示id屬性,如#kw

2) css用.表示class屬性,如.slipt

3) css可直接使用標籤名稱,無任務識別符號,如input

4) css通過其他屬性定位時寫為:css=[name='kwname']

5) css也可通過標籤和屬性組合定位,如css=[a.text='xxx']