前言

本文为在霍格沃兹测试开发学社的学习经历分享

简介

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

主要分为三部分

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

公共部分参数配置

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

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" // 输入中文
}
Settings API

官网文档:http://appium.io/docs/cn/advanced-concepts/settings/#settings_1

使用方法:# caps['settings[waitForIdleTimeout]']= 0

capability进阶用法

  1. newCommandTimeout

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

  1. udid

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

  1. autoGrantPermissions

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

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

  1. noRest

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

  1. fullReset

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

  1. 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命令

推荐阅读文章链接:只需Docker,环境问题再也不是测开路上的『坑』_霍格沃兹测试开发学社的博客-CSDN博客

capability参数配置的更多相关文章

  1. 转:浅谈UNIX下Apache的MPM及httpd.conf配置文件中相关参数配置

    为什么要并发处理 以Apache为代表的web服务器中,如果不支持并发,则在一个客户端连接的时候,如果该客户端的任务没有处理完,其他连接的客户端将会一直处于等待状态,这事不可想象的,好像没有为什么要不 ...

  2. Spark on Yarn:任务提交参数配置

    当在YARN上运行Spark作业,每个Spark executor作为一个YARN容器运行.Spark可以使得多个Tasks在同一个容器里面运行. 以下参数配置为例子: spark-submit -- ...

  3. Production环境中iptables常用参数配置

    production环境中iptables常用参数配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我相信在实际生产环境中有很多运维的兄弟跟我一样,很少用到iptables的这个 ...

  4. Unity3D安卓打包参数配置与兼容性的关系分析

    前言 在使用Unity3D工程导出安卓安装包的时候,往往会遇到兼容性的问题,针对某些机型,要么无法打开游戏,要么会出现卡机的现象.面对这种情况,我们可以调节相关的参数来提高兼容性. 为了了解在打包时候 ...

  5. 教你如何利用分布式的思想处理集群的参数配置信息——spring的configurer妙用

    引言 最近LZ的技术博文数量直线下降,实在是非常抱歉,之前LZ曾信誓旦旦的说一定要把<深入理解计算机系统>写完,现在看来,LZ似乎是在打自己脸了.尽管LZ内心一直没放弃,但从现状来看,需要 ...

  6. IIS 7.5 高并发参数配置

    IIS 7.5 高并发参数配置 由于之前使用的是默认配置,服务器最多只能处理5000个同时请求,对于高并发请求,参照文档设置10万并发 1. 调整IIS 7应用程序池队列长度 由原来的默认1000改为 ...

  7. Sqlserver推荐参数配置及日志收缩问题

    最近不定期有项目反馈周期性的系统整体性能下降情况,经分析存在因数据库环境.参数配置不佳造成的.比如,sqlserver日志文件缺省按百分比增长,当日志文件已经比较大时,每次扩展时耗时较长,系统整体卡顿 ...

  8. [转载]SOAPUI压力测试的参数配置

    原文地址:SOAPUI压力测试的参数配置作者:goooooodlife The different Load Strategies available in soapUI and soapUI Pro ...

  9. Mongodb Java Driver 参数配置解析

    要正确使用Mongodb Java Driver,MongoClientOptions参数配置对数据库访问的并发性能影响极大. connectionsPerHost:与目标数据库能够建立的最大conn ...

随机推荐

  1. JavaWeb过滤器Filter(附tomcat部分源码分析)

    过滤器Filter 过滤器通常对一些web资源进行拦截,做完一些处理器再交给下一个过滤器处理,直到所有的过滤器处理器,再调用servlet实例的service方法进行处理.过滤器可以对request进 ...

  2. luogu1486 [NOI2004]郁闷的出纳员 (平衡树)

    加的注释,都流着泪... 胡了一种做法,样例都没过,翻题解发现一神仙Remove操作,妙啊! #include <iostream> #include <cstdio> #in ...

  3. Spring源码 09 IOC refresh方法4

    参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...

  4. 为什么各大厂自研的内存泄漏检测框架都要参考 LeakCanary?因为它是真强啊!

    请点赞关注,你的支持对我意义重大. Hi,我是小彭.本文已收录到 GitHub · AndroidFamily 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注公众号 [彭旭锐] ...

  5. [Noi2010]能量采集 (莫比乌斯反演)

    [Noi2010]能量采集 Description 栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量.在这些植物采集能量后, 栋栋再使用一个能量汇集机器把这些植物采集到的能 ...

  6. C#基础_利用Stopwatch计时器可暂停计时,继续计时

    最近程序上用到了计时功能,对某个模块进行计时,暂停的时候模块也需要暂停,启动的时候计时继续 用到了Stopwatch Stopwatch的命名空间是using System.Diagnostics; ...

  7. ASP.NET Core 6框架揭秘实例演示[35]:利用Session保留语境

    客户端和服务器基于HTTP的消息交换就好比两个完全没有记忆能力的人在交流,每次单一的HTTP事务体现为一次"一问一答"的对话.单一的对话毫无意义,在在同一语境下针对某个主题进行的多 ...

  8. KingbaseES 逻辑备份还原加密

    KingbaseEs 支持在sys_dump备份时使用key进行加密.在sys_restore时,如果没提供key,或者key值不对,将无法进行恢复. [kingbase@dbhost03 ~]$ s ...

  9. 天天写SQL,这些神奇的特性你知道吗?

    摘要:不要歪了,我这里说特性它不是 bug,而是故意设计的机制或语法,你有可能天天写语句或许还没发现原来还能这样用,没关系我们一起学下涨姿势. 本文分享自华为云社区<[云驻共创]天天写 SQL, ...

  10. haodoop概念总结

    大数据部门组织结构 Hadoop的优势(4高) 高可靠性:Hadoop底层维护多个数据副本 高扩展性:在集群间分配任务数据,可方便的扩展 高效性:在MapReduce的思想下,Hadoop时并行工作的 ...