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

[复制链接]
发表于 2025-7-9 02:18:51 | 显示全部楼层 |阅读模式
环境搭建见 01 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
  1. {
  2.   "platformName": "iOS",
  3.   "appium:options": {
  4.     "platformVersion": "14.4",
  5.     "deviceName": "iPhone 11",
  6.     "app": "Some-App.app.zip",
  7.     "automationName": "XCUITest"
  8.   }
复制代码
三、常见 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、编写以下脚本代码进行运行:
  1. # -*- coding=utf-8 -*-
  2. from appium import webdriver
  3. from appium.options.android import UiAutomator2Options
  4. # 设置操作终端的配置参数
  5. desired_caps = dict(
  6.     platformName='Android', # 指定操作系统
  7.     platformVersion='7.1.2',# 指定操作系统版本
  8.     automationName='Uiautomator2',# 默认框架
  9.     deviceName='127.0.0.1:62001',# 指定设备名称
  10.     appPackage='com.tal.kaoyan',# 被操作的应用程序包名
  11.     appActivity='com.tal.kaoyan.ui.activity.SplashActivity',# 启动页面
  12.     noReset='false',# true--不重置  false--重置
  13.     app='F:\Pycharm\AppAuto\kaoyan3.1.0.apk'  # apk文件所在路径
  14. )
  15. # 发送命令给 appium server
  16. 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 哀求

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5

GMT+8, 2025-7-25 07:44 , Processed in 0.086477 second(s), 31 queries 手机版|qidao123.com技术社区-IT企服评测▪应用市场 ( 浙ICP备20004199 )|网站地图

快速回复 返回顶部 返回列表