app自动化测试环境安装和原理解析

1.移动测试的基本介绍

定义:

  • 测试手机程序:app

App程序测试点:

  • 功能测试
  • 安装卸载测试
  • 升级测试
  • 兼容性测试
    • 不同的手机的系统使用测试环境不同
      • android
      • ios
      • 其他:基于Android二次开发系统
        • 华为:鸿蒙系统
        • 小米:澎湃系统
  • 网络切换
  • 网络终端
  • 使用中来电,短信
  • 横竖屏切换
  • 健壮性测试
    • 耗电量,流量消耗,崩溃恢复...

2.移动测试的环境搭建 

2.1 app自动化测试环境搭建配置

  • 安装java环境

  • 安装Android的环境
    • 打开Android安装包,双击解压即可
    • android_sdk_test.7z
    • 解压在app文件夹下即可
    • 配置Android的环境变量

2.2 配置Android环境变量

前置条件:

  1. Android SDK
  2. 解压
  3. 配置 ANDROID_HOME 和 PATH(不要有中文特殊字符)

配置环境变量:

  1. 打开高级系统设置
  2. 点击新建
  3. 变量名:固定:ANDROID_HOME
  4. 变量值:安卓sdk的文件夹路径:D:\app\android_sdk_test
  5. 编辑环境变量path,新建两个资源路径
    1. %ANDROID_HOME%\platform-tools
    2. %ANDROID_HOME%\tools

2.3 安装appium

  1. 安装node.js
    1.  https://nodejs.org/en/
    2. 打开cmd,输入npm
  2.  安装Appium
    1. npm install -g appium
  3. 安装uiautomator2
    1. appium driver install uiautomator2
  4. 验证安装完成,命令行输入appium
    1. 正确安装结果

python环境中安装appium第三方库

  • pip install appium-python-client

2.4 安装手机模拟器

  • 推荐使用夜神模拟器:nox_setup_v7.0.2.7_full
  • 双击打开安装包,一直下一步即可完成安装
  • 也可以使用真机机械能测试,配置步骤
    • ·将手机通过usb数据线连接到电脑
    • 在手机上面打开文件传输
      • 前提:通知栏显示手机正在充电
    • 在电脑上会出现一个CD驱动器,里面是手机的驱动
    • 找到手机的驱动双击安装驱动,电脑的设备管理中就可以查看到手机的型号
    • 继续在手机上面打开开发者模式
      • 手机---设置---关于手机---版本号---对着版本号连续点击8次及以上激活状态
      • 系统会提示信息:已经打开开发者模式
    • 最后打开usb调试
      • 手机---设置---开发者选项--usb调试功能---点击打开即可
  • 使用夜神模拟器需要与安卓环境的adb文件保存一致
    • 去夜神手机模拟器位置找到adb.exe
      • 打开夜神模拟器所在文件文件:"D:\Program Files\Nox\bin\adb.exe"
    • 将adb.exe文件放置在桌面
    • 接下来找到安卓环境中的adb.exe文件,进行替换
      • 位置:D:\app\android_sdk_test\platform-tools\adb.exe
    • 找到夜神模拟器的nox_adb.exe
      • 位置:D:\Program Files\Nox\bin\nox_adb.exe
    • 将桌面的adb.exe改名为nox_adb.exe
    • 将桌面的nox_adb.exe,替换掉夜神模拟器中的nox_adb.exe

  一定要保证安卓的adb和夜神模拟器中的adb版本保存一致才能进行连接

 3.移动测试的环境验证

  1. 启动appium客户端,开启服务器
  2. 设置成中文:view菜单--Languages--中文
  3. 检测java环境变量和Android环境变量是否配置成功
    1. 点击编辑配置,会看到android环境变量和java环境变量配置信息 
    2. 如果自动显示路径信息,如图
    3. 环境变量配置成功,保存并启动即可
  4. 打开夜神模拟器,查看appium服务器是否连接到手机
  5. 打开终端,输入命令:adb devices
  6.  
  7.  如果出现ip以及端口号,那么表示连接成功

 4.ADB命令

关系:

  • 电脑appium客户端会创建一个appium服务器,也叫做ADB服务器
  • 手机连接上电脑之后,会自动检测服务连接
  • 想要发送指令给手机,那么就必须通过appium客户端发送指令到服务器(ADB服务器)
  • app自动化脚本执行流程
    • pycharm写入脚本代码然后开始运行
    • 脚本执行的过程中会交给appium客户端进行编译成adb命令
    • 然后将adb命令发送给appium服务器,接收到命令,开始按照命令操作手机
  • 也就是说操作手机的是通过代码编译的adb命令

 定义:

  • ADB含义:Android-debug-bridge
  • 代表的含义是安卓调试的桥梁
  • 包含adb服务器,也包含服务器对应的客户端

作用:

  • 通过编译python的脚本代码生成adb命令去控制手机

4.1 常用的adb命令

开启服务器:adb start-server

关闭服务器:adb kill-server

如果发现appium服务器无法自动连接手机设备,那么可以重启appium服务器进行连接

查看当前连接设备:adb devices

进入手机的终端:adb shell

获取手机版本号:adb shell getprop ro.build.version.release

获取当前手机启动的app及界面:adb shell dumpsys window windows|findstr mFocusedApp

一个app程序可能由多个界面组成

app名字:com.android.settings

界面名:.settings 

5.入门案例

复制代码
from appium import webdriver
from appium.options.android import UiAutomator2Options

driver = webdriver.Remote(
    'http://127.0.0.1:4723',
    options=UiAutomator2Options()
)

driver.get_screenshot_as_file("page.png")
复制代码

6.App自动化测试的原理

6.1 appium是什么?和selenium是什么关系?

appium是selenium的子类,继承

  • 截图
  • 定位元素
  • 执行命令
  • 其他

6.2 appium是如何控制手机的

Appium:接受来自Python的http请求

AppiumDriver:调用Android Sdk中的adb的工具

adb:获取、修改系统信息,安装、卸载app,支持其他的操作

 

自动化的原理

python 调用 appium 调用 sdk 调用 adb 调用 手机(模拟器)

 

posted @   万溪汇海  阅读(123)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示