乐趣区

关于python:运维测试移动测试自动化知识总结第1篇移动端测试介绍md文档已分享

本系列文章 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 继续集成

学习指标

  1. 把握挪动端安卓模拟器的装置
  2. 把握常见的 adb 指令
  3. 理解支流的挪动端自动化测试工具
  4. 把握 appium 环境搭建
  5. 理解 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 尽可能的不存在安全漏洞.

更多挪动测试参考:

  • 挪动测试的分类

挪动端测试环境搭建

挪动端自动化测试的根底环境配置

    1. 装置 Java 环境
Android 利用为例解说,须要装置 java 环境
    1. SDK 环境
Android 依赖 SDK 的环境
    1. 模拟器环境
思考大家连贯真机不不便,所以采纳模拟器代替

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

  1. 把下载的 android sdk macosx 版本的解压到指定目录(我的解压到 //Library/Java/)

留神:

如果 sdk 没有 build-tools 和 platform-tools 文件夹, 要把提供的文件夹挪动到此处, 前面只须要配置环境变量即可, 不须要下载了

  1. 把 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
  1. 验证是否胜利

验证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 包名 /. 启动名

退出移动版