自动化测试界的黄金搭档是如何实现元素定位的?(一)

发表于:2020-12-11 10:18

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:蜗牛Tin    来源:掘金

  关于app自动化测试,元素定位工具有三个:
  Appium自带的Appium Inspector工具
  Android ADT原生的工具
  python版uiautomator2中的weditor
  由于我常用的是前两个,所以下面只介绍前面两种元素定位工具(以下内容中均以微博为例子)
  一、元素定位工具
  (一).Appium Inspector
  使用该工具的使用前提:
  1.客户端通过adb devices的dos命令确认是否连接设备
  2.当前连接的设备是否被其它应用程序占用
  3.已安装appium desktop(appium的desktop下载地址:appium.io/)
  使用步骤如下:
  1.启动appium服务器,点击右上角的第一个按钮(放大镜按钮),如下图:
  2.进入后页面显示如下图所示,一般情况下都选择本地服务
  3.参数设置完成后点击右下角的Start Session,进入如下图所示页面
  在该页面就可以进行元素定位了
  (二).uiautomatorviewer—仅限Android设备使用
  使用该工具的使用前提:
  1.客户端通过adb devices的adb命令确认是否连接Android设备
  2.当前连接的设备是否被其它应用程序占用
  3.具有运行Android SDK功能的Windows
  4.安装jdk1.8(由于目前不支持jdk1.8以上的版本,需要使用该工具要安装jdk1.8的版本)
  5.使用Android5.0以上系统
  6.确保为设备打开了开发人员模式,并打开USB调试
  安装:
  1.在android studio的启动页面当中,选择右下角的configure -> SDK Manager会弹出如图:选择android SDK -> SDK Tools,按图中勾选,点击ok进入安装,安装完成即可关闭android studio。记住图中Android SDK Location对应
  2.在Android studio中找到SDK,找到uiautomator,存放的位置为:D:\Android-SDK\tools\bin\uiautomatorviewer.bat
  使用步骤如下:
  1.找到uiautomatorviewer.bat文件,双击打开
  2.开启后页面显示如下图:
  3.若在定位时出现下图问题,可以尝试以下几种解决方法:
  查看手机是否开启开发者权限,打开USB调试
  在adb命令提示符中输入adb devices查看手机是否连接到PC端,再使用adb shell是否能进入到手机(exit退出)
  应用程序是否被占用
  关闭uiautomatorviewer,重新打开是否能定位到
  (三).两种定位工具的区别
  appium inspector需要启动appium服务器,填写Appium Desired Capabilities,略显麻烦,而uiautomatorviewer只需要连接手机
  appium inspector实时获取当前页面布局,而uiautomatorviewer方便存储,不需要实时获取
  appium inspector在操作App到下一页面时,刷新后经常会看到在转圈圈,很久都没有更新
  appium inspector中控件属性有xpath的绝对定位,而uiautomatorviewer没有xpath的绝对定位
  uiautomatorviewer获取页面布局时经常会获取不到
  每种工具都有缺陷,选择最适合自己的就好啦

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号