Appium 定位方法例子(4)

有朋友留言反应定位不到元素,没错,船长也为这个一直在头疼,我用的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该怎么弄…

 

    还要感谢@小麦苹果大神的指点哈~我太笨,学起来太慢

 

微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~

posted @ 2018-01-30 20:57  孟船长  阅读(214)  评论(0编辑  收藏  举报