app测试理论七 APP自动化测试框架介绍

1、常用框架介绍

  -Robtium

    基于android的一款自动化测试框架,支持JAVA原因,不支持跨平台  

  -macaca

    由阿里巴巴公开发布的一套开源自动化解决方案

    使用平台:PC端 android IOS

    支持语言:JAVA python nodejs

  -Appium

    一款国外的开源自动化测试框架

    适用平台:android IOS

    支持的语言:java python php ruby

    社区活跃、资料丰富

    -appium的特点

      -开源

      -支持Native app(全部由android SDK的java代码生成的,原生的app如果页面有变更,就得发一次版本,提交到应用商城去审核)

      -webapp (由HTML5 生成) 访问速度慢。H5的代码 以及元素的加载都需要时间

      -Hybird app  混合app 是当前使用最多的app

    -支持android IOS 两个平台

    -支持跨平台    windows linux macos

    -支持多语言  java python  ruby

2、appium 自动化测试框架的原理

  app测试理论七 APP自动化测试框架介绍

 

 通过此图可以知道 app自动化环境需要使用以下工具

  -appium服务器

  -基于python的appium客户端

  -adb adb工具继承在android-sdk中

  -JDK

自动化测试环境的安装

  略 从网上搜一下就可以,主要是环境变量的配置

  1、JDK的安装及环境变量的配置

  2、android sdk的安装及环境变量的配置

  3、appium服务端的配置及 jdk android-sdk安装目录的配置

  4、appium-client-python的安装 在pycharm中安装即可

二、adb工具

  -adb工具 包含了三个部分

    -adb客户端,用来下发adb的指令工具

    -server服务端  adb.exe执行之后的进程,表示adb的服务端,通过服务端与手机上的adb守护进程进行通信

    -adb守护进程会伴随着android系统的启动而启动,当android系统关闭后它才会关闭

app测试理论七 APP自动化测试框架介绍

 

 

2.adb常用命令

  2.1 adb常用命令(常看设备、启动关闭adb服务)

  如果是真机,不要使用一带多的数据线,否则找不到手机设备

  -adb devices  查看手机的设备ID名称及状态

  app测试理论七 APP自动化测试框架介绍

 

   emulator-5554 device 中 emulator-5554表示的是手机设备的ID名称,device表示设备处于在线状态

  如果不在线是offline,如果adb服务没有启动,下发该命令时会自动启动adb的服务

  -adb start-server 启动adb服务

  -adb kill-server 关闭adb服务

   安装app命令 adb install  app路径

  app测试理论七 APP自动化测试框架介绍

 

 

 2.2 获取包名和界面名

  -包名:app报名,通过app的包名来区分不同的app,app包名是唯一的

  -界面名(启动名):相当于web页面中的连接地址,在app当中,每个界面都有一个名字

  原因:自动化过程中,需要通过app的包名和界面名来启动app。

    操作步骤:

    -在手机或模拟器上打开app

    -windows命令一:>adb shell dumpsys window windows | findstr mFocusedApp

    -windows命令二: adb shell dumpsys window windows | findstr "usedApp"

app测试理论七 APP自动化测试框架介绍

 

   app测试理论七 APP自动化测试框架介绍

 

   linux/macos 命令一:adb shell dumpsys window windows | grep mFocusedApp

  linux/macos 命令二:adb shell dumpsys window windows | grep "usedApp"

 

  -通过aapt获取app的包名和界面名

    -aapt dump badging 

    app测试理论七 APP自动化测试框架介绍

 

              app测试理论七 APP自动化测试框架介绍

 

 2.3 安装卸载app  

  -app安装  adb install  路径/app安装包名称

  -app卸载  adb uninstall 包名

 

2.4 上传下载文件

  -上传 将电脑上的文件上传到手机

    adb push 电脑上的文件路径  手机的路径

    eg: adb push ./mokey.txt /sdcard

  -下载文件,从手机上下载文件到本地

    adb pull  手机的文件路径  电脑的文件夹路径

  eg: adb pull /sdcard/monkey.txt  D:\opt

 

 2.5  查看日志信息

  为什么要获取日志信息:用来分析问题存在的原因,首先要自己分析日志信息,同时给开发看

  adb logcat 来查看相关的日志信息

 

2.6 测试app的启动速度(性能测试)

  -测试app启动速度的命令

    adb shell am start -W  包名/界面名

      需要关注 total time 的时间指值,在实际测测试过程中,会测试多次并取平均时间

 3、稳定性测试(8小时)

  - monkey 继承在adb工具中,主要用来做稳定性测试用的,monkey是通过java语言编写的一种稳定性测试工具

    主要用来测试app会不会出现crash 崩溃的情况

    相当于让一只猴子来随机操作app,所有的操作都可能出现,长时间的操作来测试app会不会出现问题

  -monkey常用参数

    -p 参数  对指定的app进行随机操作

      adb shell monkey -p com.baidu.homework 100
      adb shell monkey -p com.bjcsxq.chat.carfriend 100

    

app测试理论七 APP自动化测试框架介绍

上一篇:【Django组件】UNIAPP+DJANGO 多图像上传 + 后端接口接受 uView组件


下一篇:Android 应用名称的一些说明