標籤:info element bdr 索引 drive _id desc oid pos
有朋友留言反應定位不到元素,沒錯,船長也為這個一直在頭疼,我用的App是原生安卓+webService+h5類型的,定位雖然沒問題,但是在進行操作的時候各種不通過……真的很頭疼啊……我這裡說的“操作”是指例如:清空輸入框、輸入使用者名稱之類的,但是定位是沒問題的。今天先給大家看一個比較標準的App,用這種就沒有任何問題,其實也是船長在偷懶,因為計算機的操作真的是太簡單啦~。
我百度的“計算機apk”:
然後下載的小米計算機:
進行的操作是:12+1=
# coding: utf-8
from appium import webdriver
from time import sleepdesired_caps = {‘platformName‘: ‘Android‘,
‘deviceName‘: ‘127.0.0.1:62001‘,
‘platformVersion‘: ‘23‘,
‘appPackage‘: ‘com.miui.calculator‘,
‘appActivity‘: ‘com.miui.calculator.cal.CalculatorActivity‘}
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)sleep(2)
# 操作:12+1=
# resource-id
driver.find_element_by_id("com.miui.calculator:id/btn_1").click()
# text
driver.find_element_by_name("2").click()
# content-desc
driver.find_element_by_accessibility_id("加").click()
# class【註:1的索引是6,7的索引是0】
driver.find_elements_by_class_name("android.widget.Button")[6].click()
# uiautomator
driver.find_element_by_android_uiautomator(‘new UiSelector().description("等於")‘).click()
我想給大家寫一些實用性強的,因為網上搜到的全是用計算機做例子,原因就在這——定位和操作不複雜,寫起來輕鬆加愉快…
讓船長再研究一下安卓原生和h5混合的App該怎麼弄…
還要感謝@小麥蘋果大神的指點哈~我太笨,學起來太慢
公眾號搜尋“自動化測試實戰”或掃描下方二維碼添加關注~~~
Appium 定位方法例子(4)