关灯
开启左侧

[我要爆料] 最新:App自动化测试

[复制链接]
xinshangren 发表于 2022-6-22 00:09:34 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
  上一章,我们学会了如何启动和关闭App,但是自动化用例的操作中,最主要的是对UI元素的操作;薅羊毛https://www.aznfz.com/冰狐智能辅助一站式app自动化解决方案,支持SaaS和微服务,不需编程通过搭积木和参数配置即可快速实现各种app自动化操作,比如:自动运营店铺,自动签到,自动薅羊毛,自动回复,自动化测试,抓取app数据,微信营销,网络推广,抢红包等功能!
  这章我们主要就学习,如何定位元素,定位的工具使用,以及基本的元素操作有哪些。   【一】定位工具   我们常用的定位工具有两种:   1. android sdk自带的uiautomator viewer   2. appium自带的inspector   这两种工具的使用,和用法都各有优劣和特点,接下来一一介绍:   uiautomator viewer   uiautomator viewer位于android-sdk ools目录下,双击uiautomatorviewer.bat就可以运行。   注:如果没有jdk或jre,或者安装jdk没有配置好环境变量,uiautomator viewer运行不了。   如图,工具显示大概分4块区域,菜单栏、截屏区域、xml文件代码区域、元素信息区域;   点击菜单栏第二个或第三个按键就可以获取手机屏幕截图,并对其中元素定位。   基本使用方式是:   1. 获取屏幕截图;   2. 移动鼠标到要定位的元素上方,点击鼠标左键,边框会从虚线变为实线;   3. 查看右下角元素信息区域的相关元素属性。   注:如果要取消选择元素只需要对已点击元素再点击一次鼠标左键   inspector   使用inspector工具需要先启动appium server,点击右上角的放大镜图标。   需要设置的大概是两个地方:   1. 点击Automatic Server   2. 填写App的desired capabilities就是之前启动app在python中设置的desired_caps,基本可以照搬。   然后点击右下角的start session,启动inspector的session。   如上图,inspector大概分成4块区域:菜单栏,截屏区域,xml文件源码,元素定位方式及属性信息。   选取元素的方式和uiautomator viewer类似,也是鼠标坐标点击选取,查看右侧元素信息,再次点击取消选取。   注:uiautomator viewer使用方便,启动快捷,不需要启动session与手机通信,但是某些App(例如京东)使用的框架可能无法解析并获取,导致如下的错误。   注:inspector相对来讲,功能更强大一些,几乎所有的App都可以获取到截屏和xml源文件,但是启动慢,设置项多,最麻烦的是,每运行一次用例,inspector的都需要重新启动一次session。   【二】元素的定位策略   基本的元素定位策略有两种:   1. 基于元素的属性   2. 基于坐标值   这两种定位策略之间存在互补特性,建议优先使用属性定位,不能时在使用坐标定位   基于元素的属性定位   基于元素的属性定位的方式主要有三种:   1. id   2. xpath   3. accessibility_id   id   id就是对应元素的resource-id属性值,一般是某些比较重要的元素才有id,大多数元素没有:   xpath   xpath是一种在标记语言中对节点进行定位的语法,类似操作系统中对文件定位的路径表达式   Xpath有两种表达形式:   1. 绝对路径   2. 相对路径   原版的uiautomator viewer不能显示出元素的xpath,需要修改其jar包或替换为第三方的jar包才能显示 inspector可以显示xpath,但是都是绝对路径,通常非常的长,如下图:   /hierarchy/android.widget.FrameLayout/android.view.View/android.widget.FrameLayout[2]/android.widget.GridLayout/android.widget.Button[3]   注:对于xpath定位,还有第三种解决方式,自己学会xpath语法之后自己编写;写出类似 //android.widget.Button[text()="1"]的相对路径表达式。   accessibility_id   accessibility_id就是元素属性里面的content-desc,不是每个元素都有这个属性,很多元素都没有   注:以上三种定位方式,优先推荐使用id和xpath定位,再其次是accessibility_id定位   基于坐标值定位   某些时候如果基于元素属性的定位方式不可用或者不方便用的时候,可以考虑使用坐标值定位操作元素。   首先我们要明确一下App界面的坐标系是怎样的:   1. 左上角是屏幕的原点(0,0),向右是x轴正向,向下是y轴正向   2. 越向右x值越大,直到达到屏幕边界720   3. 越向下y值越大,直到达到屏幕边界1280   4. 屏幕的边界值大小取决于屏幕分辨率   如何查看元素的坐标:   uiautomator viewer   如上图,元素信息中,bounds代表元素左上角点和右下角点在屏幕坐标系中的坐标。   inspector   首先点击菜单栏的第二个swipe by coordinates;然后在截屏区域移动鼠标,截屏区域左上角会显示鼠标的坐标。   举报/反馈 2022/6/22
 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


0关注

0粉丝

149828帖子

热门图文
排行榜

关注我们:微信订阅号

官方微信

APP下载

全国服务Q Q:

956130084

中国·湖北

Email:956130084@qq.com

Copyright   ©2015-2022  站长技术交流论坛|互联网技术交流平台Powered by©Discuz!技术支持:得知网络  

鄂公网安备 42018502006730号

  ( 鄂ICP备15006301号-5 )