1. 程式人生 > >Robotframework + Appium 之常用元素定位方法

Robotframework + Appium 之常用元素定位方法

說明 介紹 自動化測試 tex 數字 想是 其它 還需 sel

任何自動化測試,其實手動測試也是一樣的,元素定位(目標定位)是首要任務,這是最直接的測試對象呀!

好了,廢話不多說,又到了元素定位啦,之前我們已經介紹過selenium及appium常用的定位方法,下面再單獨介紹下

Robotframework-AppiumLibrary常用元素定位方法,其實它們的思想是一樣的,只是格式上有些差異,詳情如下:

AppiumLibrary需要在應用程序中查找元素的所有關鍵字都使用參數locator。當提供locator值時,它將與特定元素類型的鍵屬性進行匹配。

常用支持的定位(locator)方法有:
  註:robotframework-appiumlibrary 1.4.6 (本文基於此版本)

  Android應用可以通過 uiautomatorviewer.bat工具來查看控件元素的屬性,該工具位於Android SDK的Tools目錄下。

1、id 定位 (本篇還是以之前的Calculator為例)

  說明:匹配 @id 屬性,對應 resource-id 屬性。

  案例:點擊計算器數字“ 9 ”,id可以指定也可以不指定,如果不指定策略,默認就是id定位。

  數字“ 9元素屬性如下:

  技術分享圖片

  Click Element id=com.android.calculator2:id/digit_9

  Click Element com.android.calculator2:id/digit_9

2、xpath 定位

  說明:匹配 Xpath ,這也是功能最強大的一種定位方式。

  案例:點擊計算器數字“ 9 ”。又有下面幾種方式:

  1)、如果元素text是唯一的,可直接通過text文本定位

  Click Element xpath=//*[@text=‘9‘]

  2)、通過resource-id來定位

  Click Element xpath=//*[@resource-id=‘com.android.calculator2:id/digit_9‘]

  3)、通過class來定位,如果唯一的,不然還需要搭配其它的屬性

  Click Element xpath=//android.widget.Button[@text=‘9‘] 因為class不是唯一的,所以這裏加上text

  4)、通過content-desc來定位,如點擊計算器“+”號,其中元素屬性如下:

  技術分享圖片

  Click Element xpath=//*[@content-desc=‘plus‘]

  5)、通過contains匹配來定位

  Click Element xpath=//*[contains(@text,‘9‘)] 匹配text

  Click Element xpath=//*[contains(@content-desc,‘plus‘)] 匹配content-desc

  Click Element xpath=//*[contains(@resource-id,‘id/op_add‘)]  模糊匹配resource-id

  6)、組合定位

  Click Element xpath=//*[@text=‘+‘][@content-desc=‘plus‘]  組合text和id

3、uiautomator定位

  說明:通過uiautomator方式 ,這也是功能強大的一種定位方式。

  案例:點擊計算器數字“ 9 ”。與xpath一樣,也有下面幾種方式:

  1)、通過text定位

  Click Element android=new UiSelector().text("9")

  2)、通過resource-id來定位

  Click Element android=new UiSelector().resourceId("com.android.calculator2:id/digit_9")

  3)、通過content-desc來定位,如點擊計算器“+”號

  Click Element android=new UiSelector().description("plus")

  4)、組合定位

  Click Element android=.resourceId("com.android.calculator2:id/digit_9").text("9") resource-id與text組合

  Click Element android=.className("android.widget.Button").text("9")  class與text組合

4、accessibility_id定位

  說明:這屬於Appium擴展定位方法,主要是用content-desc屬性。

  案例:如點擊計算器“+”號

  Click Element accessibility_id=plus

綜上,是Robotframework-AppiumLibrary 幾種比較常用元素定位方法,在實踐過程中多多嘗試,熟能生巧,便可以事半功倍。

  

  

  

  

  

Robotframework + Appium 之常用元素定位方法