![](https://img-blog.csdnimg.cn/b46e713c22604a63a976ea77fedeba40.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
APP自动化测试
文章平均质量分 79
专栏文章为APP端的自动化测试,使用了Python+Appium+Pytest测试框架,以Windows系统为主
Snails_Tin
不要在该奋斗的年纪选择安逸
展开
-
python+appium自动化测试-参数化读取外部excel文件
读取外部的excel文件有三种方法,包括:pandas、xlrd、openpyxl,excel文件包括后缀为xls和xlsx的文件,这篇文章分别使用pandas和openpyxl读取外部的excel文件。来自APP Android端自动化测试初学者的笔记,写的不对的地方大家多多指教哦。一、pandaspandas读取后缀名为.xls和.xlsx的excel文件所用的方法是一致的1.安装:pip3 install pandas安装成功显示2.读取excel文件的内容需要用到的excel表格及数据原创 2021-11-22 18:07:36 · 311 阅读 · 0 评论 -
python+appium自动化测试-输出日志到控制台&文件
一、日志的作用在项目开发及测试中,日志能够帮助准确的定位问题,且进行问题的分析二、日志级别优先级为:DEBUG<INFO<WARNING<ERROR<CRITICAL日志的默认级别是warning级别及以上,debug和info都不会再控制台输出三、几个重要的概念Logger 记录器:提供日志的接口,供应用代码使用Handle 处理器:将(记录器产生的)日志记录发送到哪里,即输出到哪里Filter 过滤器:提供了更好的粒度控制,它可以决定输出哪些日志记录,提供一种原创 2021-11-21 15:13:06 · 1625 阅读 · 1 评论 -
python+appium自动化测试-参数化设置
来自APP Android端自动化测试初学者的笔记,写的不对的地方大家多多指教哦。(所有内容均以微博V10.11.2版本作为例子)在自动化测试用例执行过程中,经常出现执行相同的用例,但传入不同的参数,导致我们需要重复的写用例,这样会使我们的用例变得很长,冗余,很多地方需要编码。参数化可以通过修改传入的参数,从而让相同步骤的用例可以多次执行,对测试用例进行迭代调用。参数化设置一:使用装饰器实现参数化设置参数化需要用到pytest的装饰器:@pytest.mark.parametrize()方法:pa原创 2021-11-19 10:05:44 · 562 阅读 · 0 评论 -
python+appium自动化测试-重复执行测试用例
来自APP Android端自动化测试初学者的笔记,写的不对的地方大家多多指教哦。在功能测试过程中,经常会遇到一些偶然出现的Bug,需要通过重复执行用例来复现问题,那么,在自动化测试的过程中,对于一些偶然出现的Bug,也可以针对单个用例,或者针对某个模块的用例重复执行多次来复现。重复执行测试用例的方法这边主要总结了三个:①重复运行单条或全部测试用例②测试用例运行失败后重新运行③测试用例重复运行直到第一次失败后停止一、重复执行测试用例(一)、安装环境要重复执行测试用例,需要先安装pytest-原创 2021-11-19 09:57:41 · 1313 阅读 · 0 评论 -
python+appium自动化测试-通用设置(一)
这篇文章总结了我平时用的比较多的3个设置,后续有用到其它的,会继续更新哦。一、运行时会重装APP问题**问题:**在使用Appium运行自动化代码的时候,每次运行会自动清除APP的原来数据,并将APP卸载,再重新安装打开。**解决:**在APP启动的参数设置中添加"noReset": True,表示启动APP时不清除APP里的原有的数据。未设置该参数,系统默认为"noReset": False,表示在启动APP时会自动清除卸载APP,重新安装,所以每次打开的APP都是新安装的APP。代码示例:fr原创 2021-11-18 10:00:02 · 413 阅读 · 0 评论 -
python+appium自动化测试-单点和多点触控操作
一、TouchActionTouchAction类主要用于模拟手势操作,如点击、短按、长按、移动操作。1.点击:press()短按屏幕上的某个元素或某个坐标点,可以使用TouchAction中提供的press()方法press(self, el=None, x=None, y=None)注释:长按操作,可以传定位的元素对象,也可以传坐标el 是定位元素的对象x,y是传坐标duration是按住的持续时间,默认1000,单位是毫秒注意:若短按的是元素,则仅需传参数给el; 若短按的是原创 2021-11-18 09:53:37 · 845 阅读 · 0 评论 -
python+appium自动化测试-获取toast信息
toast是基于uiautomator2,如果没有uiautomator2的话,需要安装,cmd输入:cnpm install appium-uiautomator2-driver需要在APP启动设置的capability中额外配置下面内容:"automationName": "UiAutomator2"capability的设置可以查看之前的博客:python+appium自动化测试如何控制App的启动和退出CSDN链接:https://blog.csdn.net/weixin_436484原创 2021-11-17 09:55:10 · 790 阅读 · 0 评论 -
python+appium自动化测试-上下左右滑动操作
手机屏幕坐标显示如下:手机左上角为(0,0),横向是x轴,纵向是y轴swipe()函数介绍:swipe(x1, y1, x2, y2 , t):(x1, y1)为滑动起始点的坐标,(x2, y2)为滑动终点坐标,t为滑动时间,单位为ms获取手机的屏幕大小,由于每部手机的屏幕分辨率不一样,所以同一个元素在不同手机上的坐标也是不一样的,滑动的坐标不能写死,可以同通过屏幕宽和高的比例计算1.上滑:主要操作为图中B→A,x轴坐标不变,主要为y轴坐标由大变小,由屏幕纵向长度的75%变为25%2.下滑:主要操原创 2021-11-17 09:51:31 · 2388 阅读 · 2 评论 -
python+appium自动化测试-获取短信+图片验证码
本篇文章主要讲述的是如何自动获取短信验证码和如何自动获取图片验证码,并写入到对应的输入框中(以下均使用微博的找回密码作为示例)获取短信验证码的方法有三种,如下所示:在手机的通知栏中获取短信内容通过监控手机日志获取短信验证码通过redis获取短信验证码以下只写出第一种在通知栏中获取短信内容的方法,后续两种方法会在后面进行分享。获取图片验证码的方法:通过百度的OCR文字识别,进行识别获取图片中的字母、文字或数字验证码。一、获取短信验证码方法:发送短信验证码后,打开手机的通知栏,定位短信内容原创 2021-11-16 09:54:20 · 1509 阅读 · 2 评论 -
python+appium自动化测试-Page Object模式微博登录代码封装
一、什么是Page Object模式Page Object 模式是selenium/appium自动化测试项目开发最佳测试设计模式,它将每个页面设计成一个类class,类中包含了页面中需要使用的元素(按钮、输入框、标题等),测试用例可以通过调用类里面的方法和属性来获取到页面需要操作的元素。当页面元素位置发生变化时,Page Object模式可以通过更改类的属性,不需要修改测试用例(参考百度)。以下将Page Object模式简称为PO模式。二、PO模式有哪些优点减少代码的编码量和维护量清晰而明确的原创 2021-11-15 10:05:55 · 495 阅读 · 0 评论 -
python+appium自动化测试-元素等待
该篇文章主要用于整理的是在执行自动化测试过程中的几种元素等待方法implicity_wait()sleep()wait_activity()等待某元素出现后,再执行操作WebDriverWait()一、implicity_wait()-以下案例为微博隐式等待:属于全局的等待,它不是针对某一个元素,而是针对当前session(即当前driver对象的生命周期)的全部元素,所以只需要在构造driver对象时设置一次即可。如果不发送此命令,则驱动程序应默认为隐式等待0sappium官方文档的原创 2021-11-12 09:57:55 · 752 阅读 · 0 评论 -
python+appium自动化测试-元素定位(一)
关于app自动化测试,元素定位工具有三个:appium自带的Appium Inspector工具Android ADT原生的工具python版uiautomator2中的weditor由于我常用的是前两个,所以下面只介绍前面两种元素定位工具(以下内容中均以微博为例子)一、元素定位工具(一).Appium Inspector使用该工具的使用前提:1.客户端通过adb devices的dos命令确认是否连接设备2.当前连接的设备是否被其它应用程序占用3.已安装appium desktop原创 2021-11-12 09:51:47 · 471 阅读 · 0 评论 -
python+appium自动化测试-如何控制App的启动和退出
由于本人使用的是Android设备做自动化测试,所以以下内容均基于Android系统做出的整理一、启动app启动app需要设置Capability参数,而Capability参数放在Desired Capalibity中,Desired Capalibity告诉Appium想要的自动化平台和应用程序,这是一组键值对,主要是用于通知Appium服务器建立需要的session设置Capability的公共部分platformName 自动化测试手机的操作系统(Android/iOS)platf原创 2021-11-11 13:51:15 · 545 阅读 · 0 评论