用uiautomator定位app元素的三种方法

本文在Windows 10环境下,利用Python 3.6、Appium 1.13.0及Android 5.1.1模拟器进行测试,通过selenium3库,详细介绍了在考研帮App 3.1.0中,如何在测试脚本中设置desired_caps['noReset']为'False',自动安装并启动应用,重点探讨了find_element_by_android_uiautomator方法的三种不同方式来定位用户名输入框。
摘要由CSDN通过智能技术生成

一、测试环境

Win 10
Python 3.6
Appium 1.13.0
Andriod 5.1.1 模拟器
测试App:考研帮Android版 3.1.0
selenium3

二、测试场景
场景一:base脚本里的desired_caps['noReset'] = 'False'

1 自动安装考研帮App(kaoyan3.1.0.apk),然后启动App

2 输入用户名和密码点击登录

3 用户名输入框用find_element_by_android_uiautomator三种方法定位

三、参考代码

#uft-8
from find.base import driver,NoSuchElementException

#启动app后定位到用户名输入框并输入用户名
# #第一种方法
# driver.find_element_by_android_uiautomator\
#     ('new UiSelector().resourceId("com.tal.kaoyan:id/login_email_edittext")').send_keys("zwx2019FLY290")
# #第二种方法
# driver.find_element_by_android_uiautomator\
#     ('new UiSelector().text("请输入用户名")').send_keys("zwx2019FLY290")
#第三种方法
driver.find_element_by_android_uiautomator\
    ('new UiSelector().className("android.widget.EditText")').send_keys("zwx2
UIAutomator2是一个用于安卓设备的自动化框架,可以用于测试和控制安卓设备。在使用UIAutomator2时,元素定位是必不可少的步骤。本文将从以下几个方面来介绍UIAutomator2定位元素。 1. 定位元素的方式 UIAutomator2提供了多种方式来定位元素,包括按ID、文本、类名、描述等方式。其中按ID定位是最常用的方式,通过唯一的id属性来定位元素,速度最快。而按文本、类名、描述等方式则需要遍历整个页面,速度相对较慢。 2. 定位元素的工具 在使用UIAutomator2定位元素时,可以使用Android Studio中的布局查看器来定位元素。首先需要开启设备的开发者选项和USB调试,然后将设备连接到电脑。在Android Studio中打开要测试的应用程序,点击顶部工具栏的布局查看器按钮,然后就可以在右下角看到当前设备中正在运行的应用程序的界面。从而可以使用布局查看器来定位元素位置,确定元素所在的容器以及元素的属性等信息。 3. 代码实现 以按ID定位元素为例,以下是UIAutomator2定位元素的代码示例: ```python from uiautomator2 import Device d = Device('your device id') # 输入设备id element = d(resourceId="com.example.app:id/button") # 根据id定位元素 element.click() # 执行元素的点击操作 ``` 在代码实现中,首先需要导入uiautomator2库,然后通过Device函数输入设备id,再使用resourceId参数指定元素的id属性来定位元素。最后,通过元素对象的click()函数来执行元素的点击操作。 总的来说,UIAutomator2定位元素是一个比较基础的操作,在实际测试中需要根据元素的属性以及页面结构等因素综合考虑选择合适的定位方式。掌握好元素定位方法和技巧,可以提高测试效率和测试的准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值