
来自APP AndroID端自动化测试初学者的笔记,写的不对的地方大家多多指教哦。
在之前有介绍一些平时常用的元素定位方式,最近在学习过程中有发现另一个比较好用的定位方式,是AndroID独有的定位方式:androID uiautomator,是AndroID 系统原生支持的定位方式,一种强有力的定位方式,原理是通过androID 自带的androID uiautomator的类库去查找元素。Appium元素定位方法其实也是基于Uiautomator来进行封装的,使用方法 find_element_by_androID_uiautomator() 可以运用Uiautomator元素定位。
Uiautomator元素定位的方法名和对应AndroID的属性如下:
以下定位方式都与appium封装好的定位方式是一样的,只是将写法换成了androID_uiautomator
1.androID uiautomator—resourceID定位
el1 = self.driver.find_element_by_androID_uiautomator('new UiSelector().resourceID("com.sina.weibo:ID/et_pws_username")')el1.send_keys("123")2.androID uiautomator—text定位
el2 = self.driver.find_element_by_androID_uiautomator('new UiSelector().text("手机号或者邮箱")')el1.send_keys("123")3.androID uiautomator—classname
el2 = self.driver.find_element_by_androID_uiautomator('new UiSelector().classname("androID.Widget.EditText")')el1.send_keys("123")or:el2 = self.driver.find_elements_by_androID_uiautomator('new UiSelector().classname("androID.Widget.EditText")')el1.send_keys("123")4.androID uiautomator—description(对应content-desc)
el2 = self.driver.find_element_by_androID_uiautomator('new UiSelector().description("xxx")')el1.send_keys("123")PO模式下的androID uiautomator元素定位1.base_page.py 封装androID uiautomator定位
# 基础类,封装元素定位 *** 作from appium import webdriverclass BasePage: def __init__(self, driver: webdriver): self.driver = driver # 根据android-uiautomator定位 def element_androID_uiautomator(self, locator): return self.driver.find_element_by_androID_uiautomator(locator) # 多个元素的resourceID/classname/text/description一致 def elements_androID_uiautomator(self, locator): return self.driver.find_elements_by_androID_uiautomator(locator)2.account_pwd_login.py 封装账号密码登录页面 *** 作
a.androID uiautomator—resourceID定位# 封装账号密码登录页面 *** 作from appium import webdriverimport BasePageclass AccountPwdLogin: # 账号输入框 _et_account = 'resourceID("com.sina.weibo:ID/et_pws_username")' # 输入账号,调用android-uiautomator定位 def input_account(self, account): self.element_androID_uiautomator(self._et_account).send_keys(account)b.androID uiautomator—text定位
# 基础类,封装元素定位 *** 作from appium import webdriverimport BasePageclass AccountPwdLogin: # 账号输入框 _et_account = 'text("手机号或者邮箱")' # 输入账号,调用android-uiautomator定位 def input_account(self, account): self.element_androID_uiautomator(self._et_account).send_keys(account)c.androID uiautomator—classname
# 基础类,封装元素定位 *** 作from appium import webdriverimport BasePageclass AccountPwdLogin: # 账号输入框 _et_account = 'classname("androID.Widget.EditText")' # 输入账号,调用android-uiautomator定位 def input_account(self, account): self.element_androID_uiautomator(self._et_account).send_keys(account)or # 输入账号,调用android-uiautomator定位 def input_account(self, account): self.elements_androID_uiautomator(self._et_account).send_keys(account)d.androID uiautomator—description(对应content-desc)
# 基础类,封装元素定位 *** 作from appium import webdriverimport BasePageclass AccountPwdLogin: # 账号输入框 _et_account = 'description("xxx")' # 输入账号,调用android-uiautomator定位 def input_account(self, account): self.element_androID_uiautomator(self._et_account).send_keys(account)最后|资源分享下面这些是我的收集和整理的资料,对于开始学习【软件测试】或是技能进阶的朋友来说,绝对是最全面的教程仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你
关注【程序媛木子】微信公众号测试资源将免费获取~~~
如果对软件测试有兴趣,想了解更多的测试知识,解决测试问题,以及入门指导,帮你解决测试中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,又或者已经工作但是经常觉得难点很多,觉得自己测试方面学的不够精想要继续学习的,想转行怕学不会的,都可以加入我的测试学习群644956177。群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!
总结以上是内存溢出为你收集整理的python+appium自动化测试-元素定位之android uiautomatorandroid全部内容,希望文章能够帮你解决python+appium自动化测试-元素定位之android uiautomatorandroid所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)