APP测试概念/Appium实战

在这里插入图片描述

1.APP专项测试概念

移动APP的概念
◆移动应用服务,就是针对手机这种移动连接到互联网的业务或者无线网卡业务而开发的应用程序服务(搭载在手机上的应用程序)
移动APP的特性:
在这里插入图片描述移动APP的背景:
在这里插入图片描述

移动APP的优势
◆互动性
移动设备的触摸屏提供很好的操作体验,APP则提供了更加丰富多彩的表现形式
◆精准性
App都是用户主动下载的,并且可分享到具有相似兴趣的目标群体(分享使得更快速的爆炸性传播app)
◆创意性
可以结合手机或平板的特性(照相、LBS、 重力感应)进行创意性设计及开
发,以全新的呈现方式给予用户更好的体验
◆超强的用户黏性
移动时代用户手机通常随身携带,而且.上网时间更加碎片化

移动APP测试与传统测试区别
- -用户关注点
◆传统web测试:屏幕大,可以同时显示信息
◆移动app:屏幕小,显示信息有限,有价值信息放在主要位置

–场合复杂程度
◆传统web测试:地点,网络信号固定
◆移动app:公交,运动中
2g,3g, 4g, wifi
网络不稳定
设备电量不足(电量不足的时候是不是可以采取一些措施把app的电量降下来)

–输入种类
◆传统web测试:键盘,鼠标
◆移动app:实体键盘,触屏,电容笔,语音

–操作尺度
◆传统web测试:点击是一件准确的事情
◆移动app:触屏的操作尺度就比较大,点击误差大,也不支持hover事件(鼠标悬浮会发生什么事)。点击出错几率高
–界面布局
◆传统web测试: PC端屏幕宽大,布局可以灵活- -些
◆移动app:移动端屏幕相对窄小,一般是单列,屏幕可以旋转(要考虑横屏竖屏旋转是什么样)

2.APP测试方法

稳定性(游戏在自己手机上玩了xx小时或者进行什么操作会不会崩溃)

在这里插入图片描述
功能测试:
在这里插入图片描述
登录: 第三方,多个终端登录
运行: 更像普普通通web测试的功能测试,设计边界值,场景用力等
切换:
1.后台切换:后台的切换,切回来希望还能保持在之前的页面上。
2.删除进程:后台实行左滑删除操作的时候,除的时候是否删除了相应的一些session,等再次打开的时候是什么状态,还需要重新登陆吗。
3.锁屏:锁屏打开之后希望还是之前的页面,锁屏多久会退出app
推送: 在直播足球比赛的时候,不实时推送或者响应慢,会给客户带来不良体验。
更新: 推送更新通知

专项测试一安装测试
◆从不同的渠道获取安装程序是否正常安装(华为应用市场,应用宝,网页等这些渠道是否都能安装 安装了以后能正常运行吗)
◆软件在不同操作系统下安装是否正常
◆软件安装后是否能够正常运行,安装后的文件夹及文件是否写到了指定的目录里(会不会写到客户私密目录导致无法读取数据)(取消掉应该把已经安装的都删掉)
◆软件安装过程是否可以取消,点击取消后,写入的文件是否如概要设计说明处理
◆软件安装过程中意外情况处理是否符合需求(如死机,重启,断电)
◆安装空间不足)时是否有相应提示
◆安装后没有生成多余的目录结构和文件
◆对于需要通过网络验证之类的安装,在断网情况下尝试一下
◆还需要对安装手册进行测试,依照安装手册是否能顺利安装

专项测试一卸载测试
◆直接删除安装文件夹卸载是否有提示信息
◆ 测试系统直接卸载程序是否有提示信息
◆测试卸载后文件是否全部删除所有的安装文件夹
◆卸载过程中出现的意外情况的测试(如死机、断电、重启)
(回到app仍然可用,还是就删到一半等机子正常以后继续删除,或者后台起一个进程能够守护她,直到机子正常继续卸载)
◆卸载是否支持取消功能,单击取消后软件卸载的情况
◆系统直接卸载Ul测试,是否有卸载状态进度条提示(引导用户回心转意)

专项测试一交互测试
◆多个App同时运行是否影响正常功能
◆App运行时前/后台切换是否影响正常功能
◆App运行时发送/收取邮件(点去邮件看是否会出现功能性错误)
◆App运行时拨打/接听电话
◆App运行时发送/接收信息
◆App运行时切换网络(2G、 3G、 4G、WIFI)
◆App运行时浏览网络
◆App运行时使用蓝牙传送/接收数据
◆App运行时使用相机、计算器、手电筒等手机自带设备

专项测试–升级测试
◆客户端有新版本是否有更新提示
◆升级包下载中断是否支持继续或者重新下载
◆升级渠道验证(比如有十个商城都可以下载app,这十个商城下载的是否都能正常使用)
◆跨版本升级的可用性(ios,安卓有不同的版本,升级完是否app还能用)
◆强制升级情况下,用户是否还可以正常使用旧版本
◆非强制升级情况下,系统对新旧版本的兼容性

专项测试–性能测试
◆边界测试:在各种边界压力下(电量、存储、网络)验证APP可否正确响应
◆压力测试:反复/长期操作下,系统资源占用是否异常,APP行为是否正常(自动化)
◆性能评估:在各种典型场景下占用系统资源情况
◆响应能力测试:各类操作是否满足用户可以接收的响应时间要求(响应能力当然越快越好)
◆消耗测试:正常运行时内存,CPU消耗,APP后台长时间运行时耗电量、耗流量(正常运行多久会耗尽系统电量)
UI测试:
界面:常用按钮应在最显眼的位置
在这里插入图片描述

3.Appium简介

◆Appium是一个开源、跨平台(不管是三星华为小米苹果,都可以启动)的测试框架,可以用来测试原生及混合的移动端应用。
◆Appium支持iOS、Android及 FirefoxOS平台测试。
◆Appium使用WebDriver的底层协议,来驱动Apple系统的UlAutomation库、Android系统的UlAutomator框架。

Appium特点
◆跨设备
◆跨架构
◆跨语言(java,python等都可以运用appium来驱动虚拟机等进行自动化的执行)
◆跨app,可以在多个app之间交互
◆不依赖源代码
◆不限制测试框架和平台(自己搭一个框架,都是可以扩展的)

Appium架构
◆Android.上使用了instrumentation和uiautomator两套技术:
4.1以上使用uiautomator, 4.1以下使用selendroid(现在大多安卓机都是uiautomator)
◆iOS使用uiautomation

Appium环境配置
◆JDK安装配置
◆Android SDK安装配置
◆Eclipse安装 (用python的话装pycharm)
1.安装nodejs
2.npm install -g appium (命令行)
3.Appium Server或Desktop(用Appium Desktop就不用前面两句了)
https://www.cnblogs.com/gufengchen/p/11038029.html

Server或Desktop都是加载工具,是让我们的代码能够读到相关的server的配置,从而去驱动我们的手机或者虚拟机。
大概 步骤:
1.Appium链接夜神模拟器
2.怎么写程序从而链接到Appium ,驱动夜神模拟器,做我想要做的操作。(Appium Server或Desktop更加方便的定位元素,除了起到连接枢纽也能定位到相应元素)

appium 实战脚本

1.链接夜神模拟器,把夜神模拟器当做一个服务放在了我们计算机的端口上:
在这里插入图片描述2.装百度地图,并且将apk放在指定位置方便后续使用:
在这里插入图片描述

3.用的appium desktop,用它链接夜神模拟器
在这里插入图片描述
4.把它启动起来:
在这里插入图片描述
5.参数依次是:
平台–安卓
夜神模拟器的路径,connect的路径
app的名字
app自己的启动属性(去刚刚放置apk的包里面找)
系统版本–夜神模拟器的版本都是4.4.2
在这里插入图片描述

6.上面空着的两行需要安卓工具,找到以下路径:
在这里插入图片描述
7.在cmd中cd到路径,进行反编译:
在这里插入图片描述

8.找到以下话粘贴到APPium:

在这里插入图片描述在这里插入图片描述
9.开着夜神模拟器点击Appium的启动,看看有没有连接成功。
发现appium和百度地图已经连通了
在这里插入图片描述
10.appium的好处是可以进行元素定位,比如点击定位这个按钮,会有id的名称,
在这里插入图片描述
如果页面没同步,可以点击刷新按钮刷新。不想用的时候点击×把这个session关闭掉即可。
11.使用脚本
新建项目,新建maven项目。因为要用他的一些包
在这里插入图片描述
现在要导入包,去这个网站,搜索appium,从java client里面拿到他的一个版本
在这里插入图片描述在这里插入图片描述

把上面的写在代码里
在这里插入图片描述
同样下载Selenium的包
在这里插入图片描述在这里插入图片描述

这个脚本代码连接驱动,给项目一些自己的属性,比如系统的名称,包的路径包的属性等,
等下载好了以后删掉之前的类,新建一个类,顺道带上主方法:
在这里插入图片描述

引appium的driver,然后开始加值进去,比如平台名,系统等
在这里插入图片描述
没有数字签名,
实例化一些属性(连接的地址,即对于appinum的端口号)
在这里插入图片描述
写完代码开始做操作:
打开appium,启动起来:
在这里插入图片描述

选择同意按钮:
在这里插入图片描述
捕捉到了以后输入代码中:

进入地图这个按钮也写进去:
在这里插入图片描述在这里插入图片描述

同样的将搜地名也加进去
对于输入内容,不再是click,要写入内容:
在这里插入图片描述在这里插入图片描述

写好北京大学,在地图里也写好,然后点击搜索按钮:
在这里插入图片描述在这里插入图片描述在这里插入图片描述

至此代码写完了,现在看看能不能启动起来,将当前的appium的session关闭掉:
在这里插入图片描述然后启动即可:
在这里插入图片描述

可能会出错:
在这里插入图片描述
改成3.12:
在这里插入图片描述
正常启动以后,会启动登陆,搜索北京大学并关闭。

使用简单的代码,启动appium,通过appium启动夜神模拟器从而进行后面的五个步骤的操作,就像webdriver等一致。
如果想把appium做得更好,可以用其他app写一下

发布了82 篇原创文章 · 获赞 7 · 访问量 4165

猜你喜欢

转载自blog.csdn.net/sunshine612/article/details/105453867