本系列文章md笔记(已分享)次要探讨挪动测试相干常识。次要知识点包含:挪动测试分类及android环境搭建,adb常用命令,appium环境搭建及应用,pytest框架学习,PO模式,数据驱动,Allure报告,Jenkins继续集成。把握操作app的根本api,把握元素定位及获取元素信息的api,把握事件操作api,把握app模仿手势操作,把握手机操作的api。把握pytest函数执行程序,把握pytest函数参数化,把握PO模式的作用,把握yaml语法。可能应用allure和pytest生成测试报告。
全套笔记和代码自取移步gitee仓库: gitee仓库获取残缺文档和代码
感兴趣的小伙伴能够自取哦,欢送大家点赞转发~
共 7 章,34 子模块
挪动端测试介绍
学习次要内容
1 | 挪动测试分类及android环境搭建 |
---|---|
2 | adb常用命令 |
3 | appium环境搭建及应用 |
4 | pytest框架学习 |
5 | PO模式 |
6 | 数据驱动 |
7 | Allure报告 |
8 | Jenkins继续集成 |
学习指标
- 把握挪动端安卓模拟器的装置
- 把握常见的adb指令
- 理解支流的挪动端自动化测试工具
- 把握appium环境搭建
- 理解appium入门案例
挪动端测试常识概览
学习指标
- 理解挪动端测试分类
1. 什么事挪动端测试
挪动端测试是指对挪动利用进行的测试, 即实体的个性满足需要的水平
2. 挪动端测试分类
2.1 app功能测试
- 业务逻辑正确性测试
1. 查看是否合乎业务需要文档
2. 是否满足隐性需要
- 兼容性测试
1. 零碎版本是否兼容:
安卓
原生零碎高低版本间是否兼容,例如安卓10.0的是否兼容9.0
二次开发的零碎, 比方小米的MIUI零碎间的兼容、华为的EMUI高低版本间兼容性是否良好
ios 版本间的兼容是否良好
2. 分辨率是否兼容
3. 网络状况
弱网测试、WIFI限速、更改网络app模式
- 异样测试
1.热启动利用
[1]app至于后盾时是A页面,切换到前台,还是A页面,还是初始化页面
[2]app长时间置于后盾,切换到前台,还是A页面,还是初始化页面,解体/闪退
2.网络切换和中断复原
[1]4g-2g wifi-4g,保障app可用,业务失常
[2]wif-断网-wifi
断点续传 下载利用5M 下载了3M断网,再次联网,持续以后地位下载
3.电话和信息中断复原
[1]电话:看视频,打电话30分钟,切换为持续查看地位
[2]短信:玩游戏
4.降级装置卸载测试
[1]降级测试
邻近版本升级 1.0--->1.1--->1.2
跨版本升级 1.0---->2.0
[2]装置测试
首次装置
笼罩装置
高版本--->低版本 胜利
低版本--->高版本 不容许
卸载后装置
[3]卸载测试
首次卸载
卸载--->装置--->卸载
5.健壮性测试
手机资源耗费
流量耗费
解体复原等测试
2.2 app自动化测试
通过场景和数据的预设,把以人为驱动的测试行为转化为机器执行的一种过程.
⚠ 留神: 并不是所有性能都能进行自动化.
2.3 app平安测试
通过平安测试技术,保障app尽可能的不存在安全漏洞.
更多挪动测试参考:
- 挪动测试的分类
挪动端测试环境搭建
挪动端自动化测试的根底环境配置
-
- 装置Java环境
Android利用为例解说,须要装置java环境
-
- SDK环境
Android依赖SDK的环境
-
- 模拟器环境
思考大家连贯真机不不便,所以采纳模拟器代替
1. Wind 装置java环境
装置步骤:
1.1 装置jdk1.8
运行jdk-8u151-windows-x64.exe⽂件,默认装置即可
(例如我的装置⽬录:C:\Program Files\Java\jdk1.8.0)
1.2 配置java环境变量(windows为例)
1.进入我的电脑-->属性-->高级零碎设置--->环境变量
2.在零碎变量下点击新建 -> 变量名: JAVA_HOME -> 变量值: C:\Program Files\Java\jdk1.8.0
1.3 验证环境变量
1.关上dos 快捷键win+r
2.输出java -version
呈现下图,阐明装置胜利
2. Mac 装置java环境
将下载的osx版的java环境默认进行装置,而后进行一下配置:
1.进入命令行, vim ~/.bash_profile
2.# set jdk1.8
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH
export PATH
启动终端,输出java -version查看是否失常启动
1. Window 装置sdk(Androi须要的环境)
装置步骤:
1.1 解压Android sdk 文件夹
留神:门路中不要有中文, 确保文件夹下有一下两个文件
如下图:
1.2 配置到零碎环境变量下.
SDK环境变量配置(Windowns7为例)
1.进入我的电脑 -> 属性 -> 高级零碎设置 -> 环境变量
2.在零碎变量下点击新建 -> 变量名: ANDROID_HOME -> 变量值: D:\android-sdk -> 点击确定按钮
3.在零碎变量下找到零碎的path变量,最初增加:;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;(最后面是一个分号,如果path变量最初已有分号,可不必增加) -> 点击确定按钮
1.3 验证环境变量是否配置胜利
- 在dos中输出adb指令,如下图配置胜利
-
在dos中输出android指令 呈现Android sdk manager对话框
留神:**
如果sdk中曾经有build-tools和platform-tools文件夹,就不须要再进行下载安装了
2. Mac 装置android sdk
- 把下载的android sdk macosx版本的解压到指定目录(我的解压到//Library/Java/)
留神:
如果sdk没有build-tools和platform-tools文件夹,要把提供的文件夹挪动到此处, 前面只须要配置环境变量即可,不须要下载了
- 把sdk配置到零碎环境变量
1.进入命令行, vim ~/.bash_profile
2.# set android
ANDROID_HOME=电脑寄存的门路/android-sdk-macosx
PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export ANDROID_HOME
export PATH
- 验证是否胜利
验证adb命令: 在终端输出adb,呈现adb版本信息阐明胜利
验证android是否配置胜利: 在终端输出android, 呈现此图片说明胜利
3、抉择不同版本的的Android零碎进行下载
留神:
因为安卓镜像在国外,最好更换国内的镜像
步骤
- 在弹出的android sdk manager页面,点击tools, 下啦框点击options
- 在弹出的对话框输出国内惊现的地址和端口号.
镜像地址列表(也能够网上查找最新的):
中国科学院开源协会镜像站地址:
IPV4/IPV6: mirrors.opencas.cn 端口:80
IPV4/IPV6: mirrors.opencas.org 端口:80
IPV4/IPV6: mirrors.opencas.ac.cn 端口:80
上海GDG镜像服务器地址:
sdk.gdgshanghai.com 端口:8000
北京化工大学镜像服务器地址:
IPv4: ubuntu.buct.edu.cn/ 端口:80
IPv4: ubuntu.buct.cn/ 端口:80
IPv6: ubuntu.buct6.edu.cn/ 端口:80
大连东软信息学院镜像服务器地址:
mirrors.neusoft.edu.cn 端口:80
1. window装置andorid模拟器
1. 模拟器Genymotion装置
1.执行genymotion-2.11.0-vbox.exe(是一个汇合程序,蕴含genymotion和virtualbox) -> 不须要更改配置,间接下一步默认装置
2.装置完genymotion持续期待,会提醒装置virtualbox,持续装置,期间会提醒装置oracle插件,全副容许装置
3.装置实现后会在桌面展现genymotion和virtualbox两个图标
留神:
装置其余的模拟器也能够 ,装置胜利就能够.(比方MuMu 逍遥 夜神 雷电)
2. Mac 下装置模拟器
mac下装置要装两个dmg文件: genymotion-2.12.1.dmg和VirtualBox-5.2.26-128414-OSX.dmg
1.装置genymotion-2.12.1.dmg-》不必更改配置,默认装置就行
2.装置VirtualBox-5.2.26-128414-OSX.dmg -》 不必更改配置间接装置就行
3.装置后也会看到下面三个利用
3.虚拟机镜像导入
1.关上virtualbox
2.进入virtualbox -> 治理 -> 导入虚构电脑
3.点击文件抉择(Samsung Galaxy S6 - 5.1.0 - API 22 - 1440x2560.ova) -> 点击下一步
4.勾选 从新初始化所有网卡的MAC地址
5.点击导入按钮 -> 期待倒入实现
6.virtualbox列表会展现如下图圈出的选项
4. 启动模拟器
在genymotion主界面点机start按钮.启动胜利就会显示下图
5. 装置利用apk
安卓模拟器启动起来后,咱们就能够装置要进行测试的利用了.装置胜利后,咱们的环境搭建就全副完结.
装置办法:
- adb命令行(前面解说)
- 间接拖拽要装置的apk到模拟器上,主动装置
注意事项
1. 装置ARM插件
装置某些利用apk时因为apk性能比拟丰盛,然而模拟器自带的不反对这些性能,所以要装置arm插件,来满足apk的应用.
(1)、拖动ARM_Translation_Lollipop_20160402.zip到已启动的android虚拟机上
须要下载对应版本的插件、咱们应用的是adnroid5.1 所以应用的是这个
(2)点击提醒的ok按钮
(3)、再次点击提醒的ok按钮,重启模拟器既能够装置apk文件
2. 应用其余版本的模拟器的步骤
(1)、须要到genymotion官网上注册一个账号
(2)、进入genymotion界面,点击add按钮、会弹出登录对话框、输出注册的账号
(3)、登录胜利后能够抉择对应不同的android版本、手机型号进行装置
ADB常用命令
学习指标
- 把握罕用的ADB命令
1. ADB命令简介
ADB全名Andorid Debug Bridge。 是一个Debug工具。为何称之为Bridge呢?
因为adb是一个规范的C/S构造的工具, 是要连贯开发电脑和调试手机的
蕴含如下几个局部:
1.Client端,运行在开发机器中,即你的开发PC机。用来发送adb命令。
2.Daemon守护过程, 运行在调试设施中, 即的调试手机或模拟器。
3.Server端, 作为一个后盾过程运行在开发机器中, 即你的开发PC机. 用来治理PC中的Client端和手机的Daemon之间的通信。
2. 常用命令
- adb 帮忙
adb --help
- 启动adb 服务
adb start-server
- 敞开adb 服务
adb kill-server
- 获取设施号
adb devices
- 获取零碎版本
adb shell getprop ro.build.version.release
- 发送文件到手机
adb push 电脑端⽂件门路/须要发送的文件,手机端存储的门路
adb push C:\Users\win\Desktop\xx.png /sdcard
- 从手机拉取文件
adb pull 手机端的门路/拉取文件名 电脑端存储文件门路
adb pull /sdcard/xx.png C:\Users\win\Desktop
- 查看手机运行日志
adb logcat
- 进入到手机终端
adb shell
- 获取app启动包名和启动名(⚠手机须要先关上对应app)
1.Mac/Linux: 'adb shell dumpsys window windows | grep mFocusedApp’
2.在 Windows 终端运⾏ 'adb shell dumpsys window windows | findstr mFocusedApp’
- 装置app到手机
adb install 门路/xxx.apk
- 卸载手机app
adb uninstall app
- 获取app启动工夫
adb shell am start -W 包名/.启动名
`python
adb shell getprop ro.build.version.release
* 发送文件到手机
adb push 电脑端⽂件门路/须要发送的文件,手机端存储的门路
adb push C:\Users\win\Desktop\xx.png /sdcard
* 从手机拉取文件
adb pull 手机端的门路/拉取文件名 电脑端存储文件门路
adb pull /sdcard/xx.png C:\Users\win\Desktop
* 查看手机运行日志
adb logcat
* 进入到手机终端
adb shell
* 获取app启动包名和启动名(⚠手机须要先关上对应app)
1.Mac/Linux: ‘adb shell dumpsys window windows | grep mFocusedApp’
2.在 Windows 终端运⾏ ‘adb shell dumpsys window windows | findstr mFocusedApp’
* 装置app到手机
adb install 门路/xxx.apk
* 卸载手机app
adb uninstall app
* 获取app启动工夫
adb shell am start -W 包名/.启动名
发表回复