首页 > 其他分享 >Appium capability参数配置

Appium capability参数配置

时间:2023-05-24 15:57:44浏览次数:31  
标签:Appium 启动 app appium 默认 capability adb 设置 参数

 简介

  1. 功能:配置 Appium 会话,告诉 Appium 服务器需要自动化的平台的应用程序
  2. 形式:键值对的集合,键对应设置的名称,值对应设置的值

  主要分为三部分

  • 公共部分
  • ios 部分
  • android 部分
  1. session
  • Appium 的客户端和服务端之间进行通信的前提
  • 通过 Desired Capabilities 建立会话

  公共部分参数配置

 描述  值
platformName  使用的手机操作系统  iOS,Android
 platformVersion  手机操作系统的版本  例如6.0
 deviceName  使用的手机或模拟器名称  Android (Emulator,Galaxy S4,夜神);iOS等,可以通过adb devices查看设备列表
 automationName  使用哪个自动化引擎  android默认使用uiautomator2,ios默认使用XCUTest
 noRest  不会重置应用的状态,默认为false  true,false
udid 连接的真实设备唯一设备编号(iOS)  

    Android特有的部分

描述
appActivity Activity的名字,从包中想要启动的android activity
appPackage 运行的android应用包名
appWaitActivity 用于等待启动的Android Activity名称
unicodeKeyboard 启用Unicode输入,默认为false
dontStopAppOnReset 首次启动的时候,不停止app
skipDeviceInitialization 跳过安装,权限设置等操作

  IOS独有

      

描述
bundleId 被测应用的bundle ID,用于在真实设备中启动测试,也用于使用其他需要bundle ID 的关键字启动测试。在使用此参数在真实的设备上执行测试时,可以不提供app关键字,当时必须提供udid
autoAcceptAlerts 当ios的个人信息访问警告出现时,自动接收。默认false
showIOSLog 是否在appium日志中显示从设备捕获的任何日志。默认false

 

  示例:

  • API Demo 启动页配置

{
  "platformName": "android",
  "deviceName": "emulator-5554",
  "appPackage": "io.appium.android.apis",
  "appActivity": ".ApiDemos"
}
  • 添加参数,提高用例的稳定性

{
  "noReset": "true", // 不清空缓存信息
  "dontStopAppOnReset": "true", // 首次启动的时候,不停止app
  "skipDeviceInitialization": "true", // 跳过安装,权限设置等操作
  "unicodeKeyBoard": "true" // 输入中文
}

newCommandTimeout
设置appium请求等待最长时间,默认为60s,是appium发送请求的最大间隔时间

udid
设备的唯一标识,是adb devices获取到的设备标识

autoGrantPermissions
为软件授予弹窗权限,打开软件后,有时候会弹出一些权限授予的弹窗,可以通过设置这个参数去授予权限,不会影响到自动化测试的执行。默认为False

注意:如果设置了noReset 等于True的话,这个capability(功能)是不工作的。

noRest
在安卓系统中,设置该参数为True的话,不停止软件,不会去清除软件的数据,不会去卸载软件。

fullReset
让app完全保持干净状态,停止app,清空app缓存,在会话开始之前和测试之后会卸载app

dontStopAppOnReset
不去重启app,由于启动app的操作,底层是通过adb命令来实现的,所以当该参数设置为True的时候,启动命令不会去加-S参数,如果为False,则会加上-S参数

原理:

adb shell am start 包名/页面名 启动app,如果app已经启动,则不会再启动
adb shell am start -S 包名/页面名 启动app,如果app已经启动,会先关掉app再启动
官方文档:https://appium.io/docs/en/writing-running-appium/caps/

relaxed-security设置为true的话,可以在代码中使用adb命令

 

newCommandTimeout
设置appium请求等待最长时间,默认为60s,是appium发送请求的最大间隔时间

udid
设备的唯一标识,是adb devices获取到的设备标识

autoGrantPermissions
为软件授予弹窗权限,打开软件后,有时候会弹出一些权限授予的弹窗,可以通过设置这个参数去授予权限,不会影响到自动化测试的执行。默认为False

注意:如果设置了noReset 等于True的话,这个capability(功能)是不工作的。

noRest
在安卓系统中,设置该参数为True的话,不停止软件,不会去清除软件的数据,不会去卸载软件。

fullReset
让app完全保持干净状态,停止app,清空app缓存,在会话开始之前和测试之后会卸载app

dontStopAppOnReset
不去重启app,由于启动app的操作,底层是通过adb命令来实现的,所以当该参数设置为True的时候,启动命令不会去加-S参数,如果为False,则会加上-S参数

原理:

adb shell am start 包名/页面名 启动app,如果app已经启动,则不会再启动
adb shell am start -S 包名/页面名 启动app,如果app已经启动,会先关掉app再启动
官方文档:https://appium.io/docs/en/writing-running-appium/caps/

relaxed-security设置为true的话,可以在代码中使用adb命令

 

 


 

原文链接:https://blog.csdn.net/weixin_55085113/article/details/126729122

标签:Appium,启动,app,appium,默认,capability,adb,设置,参数
From: https://www.cnblogs.com/pengxiaojie/p/17428411.html

相关文章

  • 【Kafka从入门到成神系列 二】Kafka集群参数配置
    ......
  • Appium自动化(5):元素定位工具
    常用元素定位工具使用uiautomatorviewer定位工具:元素定位主要用来获取元素信息,获取元素信息后才能用appium提供的相关API去识别和操作元素。谷歌在AndroidSDK中,提供了元素定位工具uiautomatorviewer,该工具可在android-sdk安装路径下找到:<android-sdk>\tools\uiautomatorviewer.bat......
  • .Net使用HttpClient以multipart/form-data形式post上传文件及其相关参数
    httpClient模仿Postman的form-data格式 api接口[HttpPost(Name="/Test/FileTest")]publicJGResponse<PutFileByNameResponse>FileTest([FromForm]PutFileByNameRequestrequestDto){varcapthch=GetCaptcha();......
  • 维度灾难及超参数寻优
    一、维度灾难维度灾难指的是当样本维度过高时,发生过拟合,验证集结果变差。样本维度越高,能够提供的信息就越多,但是其中有可能会提供一些无关的信息。而且随着维度越高,样本集在高维空间就会出现稀疏性,简单来说,就是需要更多的样本来填补这个空间。上图所示,纬度高确实能带来一定提......
  • rtti取方法类型和返回值和参数
    方法的更多信息是指:方法类型、返回值、参数等.--------------------------------------------------------------------------------unitUnit1;interfaceuses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs,StdCtrls;type T......
  • asm磁盘操作踢盘加盘参数
    问题背景:业务需求涉及到asm磁盘加盘踢盘比较频繁,记录一次较为全面的问题处理。处理方案:正常流程查看磁盘状态,selectHEADER_STATUS,GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,Namename2,OS_MB,PATHfromv$asm_disk;相关资料:MEMBER 属于当前diskgroup的diskFORMER 这个disk以前属......
  • 【linux进阶】shell之数组字典参数处理详解
    在Shell脚本中,使用数组和字典(关联数组)可以方便地处理参数。以下是它们的介绍:数组Shell中的数组类似于其他编程语言中的数组,它是一个用于存储多个值的变量。在Bash和其他类Unixshell中,可以使用以下语法来创建和操作数组:1.定义数组定义数组需要使用array_name=(value1......
  • R语言门限误差修正模型(TVECM)参数估计沪深300指数和股指期货指数可视化
    全文链接:http://tecdat.cn/?p=32511原文出处:拓端数据部落公众号时间序列模型的理论已经非常丰富,模型的应用也相当广泛。但现实生活中,越来越多的时间序列模型呈现出了非线性的特点,因此,研究非线性时间序列模型的理论及对其参数进行估计有着极其重要的意义。门限模型作为非线性......
  • fastcopy 参数 命令 大全
    FastCopy.exe[/cmd=命令][/file_src="源文件路径"][/file_dst="目标文件路径"][/srcdir="源目录"][/dstdir="目标目录"][选项...]/cmd-指定命令。(force_copy,move,sync,delete,verify,search,load_job,save_job)/file_src-指定源文件路径。(在force......
  • MT6833(天玑 700)处理器参数_芯片规格_性能_功能
    MT6833,又称为天玑700,是一款高性能芯片。它采用了八核CPU,其中包括两颗主频高达2.2GHz的ArmCortex-A76核心,可以让用户享受到更流畅的使用体验。此外,它还配备了高性能LPDDR4X内存和UFS2.2存储,可以带给用户更快的数据传输速度,使用户在玩游戏、看视频、拍照片、即时聊天或者在线......