APP元素資訊操作API

2022-06-26 05:57:14 字數 3832 閱讀 2947

本節講介紹手機端元素資訊的獲取以及基本的輸入操作。

webdriver

#server 啟動引數

desired_caps ={}

#裝置資訊

desired_caps['

platformname

'] = '

android

'desired_caps[

'platformversion

'] = '

5.1'

desired_caps[

'devicename

'] = '

192.168.56.101:5555'#

desired_caps['

'] = '

com.android.settings

'desired_caps[

''] = '

.settings'#

宣告我們的driver物件

driver = webdriver.remote('

', desired_caps)

點選元素

傳送資料到輸入框

方法:send_keys(vaue) #

value:需要傳送到輸入框內的文字

業務場景:

1.開啟設定

3.輸入內容abc

**實現:

# driver.find_element_by_id("

com.android.settings:id/search

").click()

#定位到輸入框並輸入abc

driver.find_element_by_id("

android:id/search_src_text

").send_keys("

abc"

) 重點:

大家可以將輸入的abc 改成 輸入中文,得到的結果:輸入框無任何值輸入且程式不會抱錯

解決輸入中文問題:

1.server 啟動引數增加兩個引數配置

desired_caps[

'unicodekeyboard

'] =true

desired_caps[

'resetkeyboard

'] =true

2.再次執行會發現執行成功

# driver.find_element_by_id("

com.android.settings:id/search

").click()

#定位到輸入框並輸入abc

driver.find_element_by_id("

android:id/search_src_text

").send_keys("

傳智播客

")

清空輸入框內容

方法:clear()

業務場景:

1.開啟設定

3.輸入內容abc

4.刪除已輸入abc

**實現:

# driver.find_element_by_id("

com.android.settings:id/search

").click()

#定位到輸入框並輸入abc

input_text = driver.find_element_by_id("

android:id/search_src_text")

#輸入abc

input_text.send_keys("

abc"

) time.sleep(1)

#刪除abc

input_text.clear()

獲取元素的文字內容

方法: text

業務場景:

1.進入設定

2.獲取所有元素class屬性為「android.widget.textview」的文字內容

**實現:

text_vlaue = driver.find_elements_by_class_name("

android.widget.textview")

for i in

text_vlaue:

print

(i.text)

執行結果:

設定無線和網路

wlan

更多裝置

顯示提示音和通知

儲存

獲取元素的屬性值

方法: get_attribute(value) #

value:元素的屬性

⚠️ value='

name

' 返回content-desc /text屬性值

⚠️ value='

text

'返回text的屬性值

⚠️ value='

classname

' 返回 class屬性值,只有 api=>18才能支援

⚠️ value='

resourceid

' 返回 resource-id屬性值,只有 api=>18 才能支援

業務場景:

1.進入設定

2.獲取搜尋按鈕的content-desc屬性值

**實現:

#定位到搜尋按鈕

get_value = driver.find_element_by_id("

com.android.settings:id/search")

print(get_value.get_attribute("

name"))

執行結果:

搜尋

獲取元素在螢幕上的座標

方法:location

業務場景:

1.進入設定頁面

2.獲取搜尋按鈕在螢幕的座標位置

**實現:

#定位到搜尋按鈕

get_value = driver.find_element_by_id("

com.android.settings:id/search")

#列印搜尋按鈕在螢幕上的座標

print

(get_value.location)

執行結果:

獲取包名方法:current_package

獲取啟動名:current_activity

業務場景:

1.啟動設定

2.獲取包名和啟動名

**實現:

print

(driver.current_package)

print

(driver.current_activity)

執行結果:

com.tencent.news

.activity.splashactivity

APP元素事件操作API

前置 webdriver server 啟動引數 desired caps 裝置資訊 desired caps platformname android desired caps platformversion 5.1 desired caps devicename 192.168.56.101 5...

獲取APP的元素資訊和Activity

一 獲取元素資訊 1 第一種方法是,在windows命令列中輸入uiautomatorviewer.bat 前提是已配置好android sdk環境 按回車鍵 等待幾秒後會開啟ui automator viewer視窗,如下圖 在模擬器中開啟計算器,點選viewer左上角的device screen...

APP元素定位操作(APP端自動化測試)

name value id屬性值 id屬性值 class class屬性值 xpath xpath表示式 server 啟動引數 desired caps 裝置資訊 desired caps platformname android desired caps platformversion 5.1 ...