Appium+python自动化(二十二)- 控件坐标获取(超详解)

这篇具有很好参考价值的文章主要介绍了Appium+python自动化(二十二)- 控件坐标获取(超详解)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

  有些小伙伴或者是童鞋可能会好奇会问上一篇中的那个monkey脚本里的坐标点是如何获取的,不是自己随便蒙的猜的,或者是自己用目光或者是尺子量出来的吧,答案当然是:NO。获取控件坐标点的方式这里宏哥给小伙伴们分享和讲解三种方法,个人喜欢第二种,也推荐小伙伴们和童鞋们使用第二种,当然了萝卜青菜各有所爱,这里不做强制要求。小平同志不是说过:不管白猫还是黑猫抓住耗子就是好猫。适合自己才是最好的,小伙伴们可以根据自己的喜好自行选择。

获取控件的坐标点方法

第一种方法(MonkeyRecorder获取坐标)

    下面就MonkeyRecorder获取坐标的方式,进行演示。MonkeyRecorder是一个比较好用的获取坐标的工具,它是用来获取真机或模拟器上坐标的工具,当我们点击真机或模拟器上的空间时,就能显示真机或模拟器上的点击点的坐标。

(1)MonkeyRecorder的启动

1.首先安卓手机连接上电脑,并保证以下两个条件成立:

a.终端USB调成开发者模式

b.电脑安装手机驱动

2.手机连接成功后,打开cmd窗口,输入adb devices查看已连接真机或模拟器设备的名称,我们这里仍以夜神模拟器为代表。如图:

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

3.在cmd窗口,输入monkeyrunner后,启动Monkeyrunner。做以下操作:导入MonkeyRecorder包、连接模拟器设备、以MonkeyRecorder方式启动模拟器,并依次输入

如下命令:

1 from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice
2 
3 from com.android.monkeyrunner.recorder import MonkeyRecorder as recorder
4 
5 device=MonkeyRunner.waitForConnection()
6 
7 recorder.start(device)

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生4.到此,MonkeyRecorder正式启动。截图如下。

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

(2)MonkeyRecorder的使用

1.我们这里只是使用MonkeyRecorder来记录坐标,获取坐标的方式很简单。比如qq的登录界面,点击“登录”按钮,右侧就会显示该按钮的坐标;同样,点击账号输入框或密码输入框,右侧同样会显示坐标。这个坐标就是我们需要获得的坐标。

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

2.同时,MonkeyRecorder中的界面是同模拟器页面保持一致的,在MonkeyRecorder中触发任一操作,模拟器上会有相应的触发。如果两者没有保持一致,则点击MonkeyRecorder右上角的Refresh Display即可刷新页面。

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

第二种方法(Uiautomatorviewer)

  网上很多推荐获取坐标点的方式,是使用 android-sdk/tools 目录下,提供的 uiautomatorviewer 工具来获取。但是这种方式非常的繁琐,而实际上,我们又不需要如此精确的坐标点,毕竟控件那么大,只要点击的坐标落在控件的位置上,即可。

Uiautomatorviewer是Android sdk自带的工具,位置在sdk/tools下。

工具打开方法:

1.sdk/tools下,找到uiautomatorviewer,双击打开

2.在cmd命令行,直接输入uiautomatorviewer,打开该工具

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

打开该工具后,我们就可以开始使用了。

运行环境:Windows

使用方法:

1.连接模拟器或真机(我们这里使用模拟器)

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

2.打开模拟器中指定的app,在uiautomatorviewer中截图指定页面

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

3.截图成功后,页面显示如下:

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

需要注意的是,你的手机设备或模拟器的api要在16以上,也就是android版本得是4.1以上,因为这个工具是google在4.1以后推出来的,只适用于4.1以后的版本

4.结果分析

从上图中,可以获取到对应控件的ID及控件左上角、右下角的坐标。

1)对于控件坐标而言,这里很简单,我们一般取中点坐标,即:

中点坐标=((左上角横坐标+右下角横坐标)/2,(左上角纵坐标+右下角纵坐标)/2)

如,上图中,中点坐标即((30+1009)/2,(268+314)/2)=(519.5,291)

注:坐标一般取整。

由此,我们可以得到所需控件的坐标,在脚本中,直接touch该点坐标即可。

2)对于控件ID而言,即上图中的红色框中部分,同样在脚本中,直接touch该ID即可。

另外,利用uiautomatorviewer还可以获取父级与子级控件之间的关系,获取到的关系同HierarchyViewer保持一致。

uiautomatorviewer就介绍到这里。 

第三种方法(Pointer location获取坐标)

  那么我推荐另外一种更简单的方式,来获取当前你看见的,在待测试设备上的控件的坐标点的定位方式。那就是利用 Android 设备的开发者选项。

这里以夜神模拟器为例:

1.点击设置

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

2.点击开发者选项

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

3.在指针位置 ,将这个属性开启之后,当手指在屏幕上滑动的时候,就可以在顶部看到当前触摸点的 X、Y 轴的坐标,这就是我们需要的。

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

注意:开发者选项不是默认可见的,你需要自行开启开发者模式,之后再进行此操作。(这不是可以上网自已查一下,如果是夜神模拟器,可以参考宏哥的小结部分开启开发者选项)

小结

(1)安卓系统开启开发者模式方法很多,我们模拟器是6.3.0.0版本这里只讲适合夜神模拟器的方法,
  接下来进入图文教程:

  1.点击设置

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

  2.点击关于平板电脑

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

3.点击7下版本号(手残请点击20下),点击箭头指向处的版本号(最底下的版本号),而不是上面的Android版本号

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

 4.返回设置菜单

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

 这里补充一点,如果感觉开发者这个选项碍眼,可以选择关闭,关闭方法:

  设置--应用--全部--找到设置软件,点击进入--清除数据
  这样开发者模式又隐藏了~~

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

  教程到此结束O(∩_∩)O~~

2、好了,今天关于控件坐标点获取就到这里了!哈哈!最后祝大家都能熟练掌握!!!


              【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通

二、接口自动化项目实战

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

三、Web自动化项目实战

四、App自动化项目实战

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

五、一线大厂简历

六、测试开发DevOps体系

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

七、常用自动化测试工具

八、JMeter性能测试

Appium+python自动化(二十二)- 控件坐标获取(超详解),自动化测试,技术分享,软件测试,appium,自动化,运维,软件测试,程序人生

九、总结(尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!文章来源地址https://www.toymoban.com/news/detail-607835.html

到了这里,关于Appium+python自动化(二十二)- 控件坐标获取(超详解)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (第一篇,踩坑无数得来的,对Ai自动化测试框架很有帮助)appium自动化测试时遇到不能使用element定位的在用坐标点击之后获取焦点如何输入文本

      现在开发的前端界面使用vue或者更牛逼技术,导致使用appium或者uiautomator2做自动化测试时不能识别到元素,无法使用传统的id,name或者xpath,这时我们需要使用坐标点击文本框。有获取坐标方法,下期写一篇文章,可以在评论区提醒瑞克。  

    2024年02月03日
    浏览(45)
  • appium+python自动化测试

    1、aapt即Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看apk包名和launcherActivity 2、在android-sdk里面双击SDK-manager,下载buidl-tools 3、勾选build-tools,随便选一个版本,我这里选的是24的版本 4、下载完成后:在D:androidsdkandroid-sdk-windowsbuild-tools24.0.0目录下找到aapt.e

    2024年02月10日
    浏览(45)
  • 【python+appium】自动化测试

    python+appium自动化测试系列就要告一段落了,本篇博客咱们做个小结。 首先想要说明一下,APP自动化测试可能很多公司不用,但也是大部分自动化测试工程师、高级测试工程师岗位招聘信息上要求的,所以为了更好的待遇,我们还是需要花时间去掌握的,毕竟谁也不会跟钱过

    2024年02月14日
    浏览(40)
  • App自动化测试|Appium+Python自动化测试环境搭建

    搭建过程步骤如下: 安装jdk并配置好环境变量(jdk版本1.8以上) 安装android-sdk并配置好环境变量;具体步骤见:Android Studio安装(推荐使用这种方法安装SDK) - 环境配置 - 测试人社区 安装安卓模拟器 安装node.js(官网下载安装最新版本) ;下载地址:下载 | Node.js 中文网 找到wind

    2024年02月12日
    浏览(51)
  • 使用【Python+Appium】实现自动化测试

    一、环境准备 1.脚本语言:Python3.x    IDE:安装Pycharm 2.安装Java JDK 、Android SDK 3.adb环境,path添加E:SoftwareAndroid_SDKplatform-tools 4.安装Appium for windows,官网地址 Redirecting  点击下载按钮会到GitHub的下载页面,选择对应平台下载   安装完成后,启动Appium,host和port默认的即可,然

    2024年02月08日
    浏览(48)
  • Python +Appium 实现app自动化测试

    一、Appium简介 Appium是一款开源工具,用于自动化iOS、Android和Windows桌面平台上的本地、移动web和混合应用程序。原生应用是指那些使用iOS、Android或Windows sdk编写的应用。移动网页应用是通过移动浏览器访问的网页应用(appum支持iOS和Chrome上的Safari或Android上的内置“浏览器”应用

    2023年04月09日
    浏览(42)
  • 微信小程序自动化实战(appium+python)

    本文主要讲解一下使用appium操作微信小程序的流程 要使用appium进行自动化第一步当然是配置好appium环境,这块我就不在这里细讲了,直接开始吧; ps:新版微信不再需要手动开启X5内核了 注意点: 要操作微信小程序,则需要先进入到微信小程序 要先查看微信webview使用谷歌驱

    2024年02月09日
    浏览(50)
  • Python+Appium实现自动化测试的使用步骤

    这篇文章主要介绍了Python+Appium实现自动化测试的使用步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 1.脚本语言:Python3.x IDE:安装Pycharm 2.安装Java JDK 、Android SDK 3.adb环境,path添加E:

    2024年02月03日
    浏览(39)
  • python appium UI 自动化测试框架讨论

    目录 前言: 框架共性总结 Auto_Analysis 权限弹窗识别 前言:  Python Appium UI自动化测试框架是一种用于测试移动应用程序的工具,它结合了Python编程语言和Appium测试框架的功能。 框架共性总结 1 自动找设备 连接设备 2 自动启 appium server 3 用例框架 unittest pytest 4 用例组织 yml 读

    2024年02月16日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包