本節講介紹手機端元素資訊的獲取以及基本的輸入操作。
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:
(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")
#列印搜尋按鈕在螢幕上的座標
(get_value.location)
執行結果:
獲取包名方法:current_package獲取啟動名:current_activity
業務場景:1.啟動設定
2.獲取包名和啟動名
**實現:(driver.current_package)
(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 ...