有朋友留言反应定位不到元素,没错,船长也为这个一直在头疼,我用的App是原生安卓+webService+h5类型的,定位虽然没问题,但是在进行操作的时候各种不通过……真的很头疼啊……我这里说的“操作”是指例如:清空输入框、输入用户名之类的,但是定位是没问题的。今天先给大家看一个比较标准的App,用这种就没有任何问题,其实也是船长在偷懒,因为计算器的操作真的是太简单啦~。
我百度的“计算器apk”:
然后下载的小米计算器:
进行的操作是:12+1=
# coding: utf-8
from appium import webdriver
from time import sleep
desired_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该怎么弄…
还要感谢@小麦苹果大神的指点哈~我太笨,学起来太慢
微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~