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. D:\app\android_sdk_test\platform-tools
    2. D:\app\android_sdk_test\tools

2.3 安装appium客户端

  1. 安装appium客户端,启动服务器
  2.  版本:Appium-windows-1.15.1.exe
  3. 直接点击下一步完成即可

python环境中安装appium第三方库

  • pip install Appium-Python-Client==2.11.1

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.入门案例

 1 import time
 2 
 3 from appium import webdriver
 4 
 5 # 配置手机连接的参数信息
 6 # 字典格式:所有参数键是固定的,值是对应的设备参数
 7 desired_caps = {}
 8 # 设备的名字
 9 desired_caps['deviceName'] = "127.0.0.1:62001"  # adb devices查看
10 # 系统的名字
11 desired_caps['platformName'] = "Android"
12 # 需要连接的app名字
13 # desired_caps['appPackage'] = "com.android.settings"  # adb shell dumpsys window windows|findstr mFocusedApp命令查看
14 desired_caps['appPackage'] = "com.android.browser"
15 # 需要连接的app对应的界面名字
16 # desired_caps['appActivity'] = ".Settings"
17 desired_caps['appActivity'] = ".BrowserActivity"
18 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_capabilities=desired_caps)
19 
20 time.sleep(5)
21 
22 # 关闭驱动
23 driver.quit()

需要测试不同的app,那么连接参数配置设置不同的app名字以及对应的app界面即可

   

posted @ 2024-03-09 14:46  万溪汇海  阅读(38)  评论(0编辑  收藏  举报