app自动化测试——capability 配置参数解析

一、Capability 简介

功能:配置 Appium 会话,告诉 Appium 服务器需要自动化的平台的应用程序

形式:键值对的集合,键对应设置的名称,值对应设置的值

主要分为三部分

公共部分

ios 部分

android 部分

二、Session

Appium 的客户端和服务端之间进行通信的前提

通过 Desired Capabilities 建立会话

三、参数配置

1、公共参数配置

项目 Value
platformName 使用的手机操作系统;iOS,Android,或者Firefox0S
platformVersion 手机操作系统的版本;例如7.1,4.4
deviceName 使用的手机模拟类型; iPhone、Simulator、iPad、iPhone等等...在iOS上,使用Instruments的instruments -s devices命令可返回一个有效的设备的列表。在Andorid上虽然这个参数目前已被忽略,但仍然需要添加上该参数
automationName 使用哪个自动化引擎;android默认使用uiautomator2,ios默认使用XCUTest
noReset 在当前session下不会重置应用的状态。默认值为false ; true,false
udid 连接的真实设备的唯一设备编号(Unique device identifier) ;例如1ae203187fc012g

2、部分参数配置

项目 Value
appActivity Activity 的名字是指从你的包中所要启动的Android acticity。他通常需要再前面添加.(例如使用.MainActivity代替MainActivity)
appPackage 运行的Android应用的包名(com.example.android.myA)
appWaitActivity 用于等待启动的Android Activity名称
unicodeKeyBoard 启用Unicode 输入,默认为false
resetKeyboard true or false
dontStopAppOnReset 首次启动的时候不停止app, true or false
skipDeviceInitialization 跳过安装,权限设置等操作 true or false

3、Desire capability 参数示例

企业微信启动页配置

python 复制代码
{
  "platformName": "Android",
  "platformVerison": "6",
  "deviceName": "127.0.0.1:7555",
  "appPackage": "com.tencent.wework",
  "appActivity": ".launch.LaunchSplashActivity",
  "noReset": "true"
}

4、配置优化

添加参数,提高用例的稳定性

python 复制代码
{
  "noReset": "true", // 不清空缓存信息
  "dontStopAppOnReset": "true", // 首次启动的时候,不停止app
  "skipDeviceInitialization": "true", // 跳过安装,权限设置等操作
  "unicodeKeyBoard": "true" // 输入中文
}
相关推荐
雨中风华2 小时前
Linux, macOS系统实现远程目录访问(等同于windows平台xFsRedir软件的目录重定向)
linux·windows·macos
有趣的杰克7 小时前
开源|macOS 菜单栏 AI 启动器 GroAsk:⌥Space 一键直达 ChatGPT / Claude / Gemini
人工智能·macos·chatgpt
疯狂敲代码的老刘7 小时前
JDK 1.6到25 全版本网盘合集 (Windows + Mac + Linux)
java·linux·windows·macos·jdk
符哥20088 小时前
Swift 开发 iOS App 过程中写自定义控件的归纳总结
ios·cocoa·swift
jxy99988 小时前
mac mini 安装java JDK 17
java·开发语言·macos
Figo_Cheung9 小时前
Figo关于OpenClaw(MacOS)安装前环境变量设置保姆级教程
macos·性能优化·个人开发
pop_xiaoli9 小时前
effective-Objective-C 第二章阅读笔记
笔记·学习·ios·objective-c·cocoa
未来侦察班18 小时前
一晃13年过去了,苹果的Airdrop依然很坚挺。
macos·ios·苹果vision pro
普通网友1 天前
苹果笔记本(Mac)连接手机完全指南
macos·智能手机
Aftery的博客1 天前
Xcode运行报错:SDK does not contain ‘libarclite‘ at the path
macos·cocoa·xcode