欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 02 APP 自动化-Appium 运行原理详解

02 APP 自动化-Appium 运行原理详解

2025/6/22 23:42:53 来源:https://blog.csdn.net/iOS_HC/article/details/148335219  浏览:    关键词:02 APP 自动化-Appium 运行原理详解

环境搭建见 01 APP 自动化-环境搭建

文章目录

      • 一、Appium及Appium自动化测试原理
      • 二、Appium 自动化配置项
      • 三、常见 ADB 命令
      • 四、第一个 app 自动化脚本

一、Appium及Appium自动化测试原理

Appium 跨平台、开源的 app 自动化测试框架,用来测试 app 应用程序,支持Android/iOS 操作系统
为什么通过代码操作不同的操作系统(Android/IOS)不同版本的手机终端的应用程序?

  • web自动测试:如何通过代码,实现操作pc端的浏览器进行对应的操作?
    代码->selenium 中 webdriver->xxx浏览器驱动->操控浏览器实现对应操作
  • app自动化测试: 代码-----? 操控手机端的应用程序,实现对应 app 自动化测试

二、Appium 自动化配置项

不同系统不同版本可能用到不同的软件包/框架----》python 脚本指定操作终端的这些参数设置
Desired Capabilities - Appium
常用必备参数:

  • platformName 操作系统(iOS/android) Android
  • platformVersion 系统版本 16.0
  • deviceName 设备名称 127.0.0.1:62001
  • app/appPackage 包名 ‘com.tal.kaoyan’
  • appActivity 入口启动页面 ‘com.tal.kaoyan.ui.activity.SplashActivity’ —Android only
{"platformName": "iOS","appium:options": {"platformVersion": "14.4","deviceName": "iPhone 11","app": "Some-App.app.zip","automationName": "XCUITest"}

三、常见 ADB 命令

ADB 命令:命令调试桥

  • 1、连接模拟器 命令:
    • 查看连接设备:adb devices 或者 连接设备: adb connect 127.0.0.1:62001
    • 不同模拟器端口号不同:雷神:5555 夜神:62001 mumu:7555 逍遥:21503
  • 2、获取包名及入口启动页面 aapt dump badging 包路径
    • 进入 aapt.exe 所在的路径(D:\Andriod_SDK\Andriod_SDK\build-tools\29.0.3)或者把所在路径也配置到系统变量中
    • 再输入命令:aapt dump badging C:\Users\x\Desktop\kaoyan3.1.0.apk
    • 注意:包路径不要包含中文
    • 获取包名:
    • 获取启动页面appActivity 的值:

四、第一个 app 自动化脚本

以上环境配置完成后,按照下面步骤,即可实现 app 自动化启动
1、通过 appium 命令启动 appium server 服务
2、电脑链接手机,或者打开模拟器

  • 通过adb devices 查看连接状态,保证是已连接状态
  • 若不是连接状态,通过adb connect 127.0.0.1:62001命令连接设备

3、编写以下脚本代码进行运行:

# -*- coding=utf-8 -*-from appium import webdriver
from appium.options.android import UiAutomator2Options# 设置操作终端的配置参数
desired_caps = dict(platformName='Android', # 指定操作系统platformVersion='7.1.2',# 指定操作系统版本automationName='Uiautomator2',# 默认框架deviceName='127.0.0.1:62001',# 指定设备名称appPackage='com.tal.kaoyan',# 被操作的应用程序包名appActivity='com.tal.kaoyan.ui.activity.SplashActivity',# 启动页面noReset='false',# true--不重置  false--重置app='F:\Pycharm\AppAuto\kaoyan3.1.0.apk'  # apk文件所在路径
)
# 发送命令给 appium server
driver = webdriver.Remote('http://127.0.0.1:4723', options=UiAutomator2Options().load_capabilities(desired_caps))

具体实现原理:

  • 1、自动化脚本发送 http 请求到 appium server

  • 2、创建会话 session

  • 3、确认终端设备是否连接,并且确认安卓的版本 确认设置其他参数与终端是否一致

  • 4、 appium会推送一个包 ‘AppiumBootstrap.jar’
    AppiumBootstrap.jar:实现 appium server 与手机终端进行数据交互

  • 5、下一个 http 请求

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词