热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python+appium自动化测试元素定位——这是刷微博时你时刻幻想的吗?

python+appium自动化测试元素定位关于app自动化测试,元素定位工具有三个:•appium自带的AppiumInspector工具•AndroidADT原生的工具•pyt




python+appium自动化测试元素定位

关于app自动化测试,元素定位工具有三个:

•appium自带的Appium Inspector工具

•Android ADT原生的工具

•python版uiautomator2中的weditor

下面只介绍前面两种元素定位工具(以下内容中均以微博为例子)

大家如果有任何Python问题需要咨询的可以加入我的Python交流群里交流讨论!


一、元素定位工具

(一).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获取页面布局时经常会获取不到

每种工具都有缺陷,选择最适合自己的就好啦


二、元素定位的方法

下面介绍几种元素定位方式,常见的元素定位方式是前三种


(一).ID定位

id对应控件属性列表中的:resource-id

driver.find_element_by_id(“com.sina.weibo:id/tv_title_lookaround”)


(二).XPATH定位

xpath对应控件属性列表中的:xpath(绝对定位只有appium inspector中才有)

在这里插入图片描述


(三).CLASSNAME定位

classname对应控件属性列表中的:class

注意:由于一个页面中可能会存在多个按钮的classname一致,但使用classname定位时,默认选择页面中的第一个classname,可以将所有classname相同的元素放置在一个list列表中,点击你所需要的位置的元素即可(列表中的元素从0开始)

在这里插入图片描述


(四).accessibility定位

accessibility对应控件属性列表中的:content-desc

在这里插入图片描述


(五).text定位

text对应控件属性列表中的:text

在这里插入图片描述


(六).其它定位

元素定位除了使用find_element_by_xxx,还可以使用page_source,page_source能够查找到这个页面的所有元素,再通过if/else来查找目标元素是否存在于页面中

在这里插入图片描述
需要Python,软件测试,自动化测试等相关资料的可以找我免费领取!

在这里插入图片描述



推荐阅读
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 安装oracle软件1创建用户组、用户和目录bjdb节点下:[rootnode1]#groupadd-g200oinstall[rootnode1]#groupad ... [详细]
  • Struts2+Sring+Hibernate简单配置
    2019独角兽企业重金招聘Python工程师标准Struts2SpringHibernate搭建全解!Struts2SpringHibernate是J2EE的最 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 本文介绍了如何清除Eclipse中SVN用户的设置。首先需要查看使用的SVN接口,然后根据接口类型找到相应的目录并删除相关文件。最后使用SVN更新或提交来应用更改。 ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • PL2303HXD电路图(USB转UART)介绍及应用
    本文介绍了PL2303HXD电路图(USB转UART)的特性和应用,该电路图可以实现RS232和USB信号的转换,方便嵌入到手持设备中。PL2303HXD作为USB/RS232双向转换器,可以将USB数据转换为RS232信息流格式发送给外设,并将RS232外设的数据转换为USB数据格式传送回主机。通过利用USB块传输模式和自动流量控制,PL2303HXD能够实现更高的数据传输吞吐量比传统的UART端口。 ... [详细]
author-avatar
Yyao
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有