栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

〖Python APP 自动化测试实战篇⑤〗- appium Capability详解

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

〖Python APP 自动化测试实战篇⑤〗- appium Capability详解

万叶集
 隐约雷鸣,阴霾天空。 
 但盼风雨来,能留你在此。 


前言:
✌ 作者简介:渴望力量的哈士奇 ✌,大家可以叫我 哈士奇 ,一位致力于 TFS - 全栈 赋能的博主 ✌
CSDN博客专家认证、新星计划第三季全栈赛道 top_1 、华为云享专家、阿里云专家博主 
 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步
 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。
 如果感觉博主的文章还不错的话,还请关注、点赞、收藏三连支持一下博主哦


专栏系列(点击解锁)学习路线指引知识定位
Python全栈白皮书 零基础入门篇 以浅显易懂的方式轻松入门,让你彻底爱上Python的魅力。
语法进阶篇 主要围绕多线程编程、正则表达式学习、含贴近实战的项目练习 。
自动化办公篇 实现日常办公软件的自动化操作,节省时间、提高办公效率。
自动化测试实战篇 从实战的角度出发,先人一步,快速转型测试开发工程师。
数据库开发实战篇 更新中
爬虫入门与实战 更新中
数据分析篇 更新中
前端入门+flask 全栈篇 更新中
django+vue全栈篇 更新中
拓展-人工智能入门 更新中
网络安全之路 踩坑篇 记录学习及演练过程中遇到的坑,便于后来居上者
网安知识扫盲篇 三天打鱼,不深入了解原理,只会让你成为脚本小子。
vulhub靶场漏洞复现 让漏洞复现变得简单,让安全研究者更加专注于漏洞原理本身。
shell编程篇 不涉及linux基础,最终案例会偏向于安全加固方向。 [待完结]
WEB漏洞攻防篇 2021年9月3日停止更新,转战先知社区等安全社区及小密圈
渗透工具使用集锦 2021年9月3日停止更新,转战先知社区等安全社区及小密圈
点点点工程师 测试神器 - Charles 软件测试数据包抓包分析神器
测试神器 - Fiddler 一文学会 fiddle ,学不会倒立吃翔,稀得!
测试神器 - Jmeter 不仅是性能测试神器,更可用于搭建轻量级接口自动化测试框架。
RobotFrameWork Python实现的自动化测试利器,该篇章仅介绍UI自动化部分。
Java实现UI自动化 文档写于2016年,Java实现的UI自动化,仍有借鉴意义。
MonkeyRunner 该工具目前的应用场景已不多,文档已删,为了排版好看才留着。


文章目录
    •  什么是 Capability
    •  Capability 配置讲解
      •  Capability 配置讲解 - 公共部分

我们在 app 自动化测试和 web自动化测试之间,很大的一个区别就是启动方式上的不同。 Selenium 在启动 web自动化的时候只需要一个 driver 即可,但是 app 自动化的时候就需要很多的设备信息。(就像上一章节我们实现访问通讯录的案例一样,在访问通讯录之前,设定了很多的启动参数,其实这些就是 appium 启动的时候需要携带的 Capability 的设备信息。)

根据 Capability 的样式我们可以发现它就是一个字典数据样式,如下:

desired_caps = {}       # 定义 desired_caps 变量,用以赋值很多的启动信息
desired_caps['platformName'] = 'Android'    # 设备名称、系统为 "Android"
desired_caps['platformVersion'] = '7.1.2'   # 这里是在夜神模拟器的设置中心查看安卓版本是 "7.1.2" ,后续会告诉大家如何切换版本
desired_caps['deviceName'] = '127.0.0.1::62001'     # 这里如果是真机的话填写的是设备名称;因为我们用的是模拟器,填写的是IP端口号
desired_caps['appPackage'] = 'com.android.contacts'     # APP 的包名;这里我们使用的是通讯录
desired_caps['appActivity'] = '.activities.PeopleActivity'    # 启动的界面的名字(也或者叫启动名,默认是 "." 开头的)
desired_caps['automationName']='UiAutomator1'

也或者可以直接将其理解为一个配置文件的模式,那么 Capability 到底是什么?里面又有着怎样的信息呢?这就是今天章节需要学习的内容。

我们在 app 自动化测试和 web自动化测试之间,很大的一个区别就是启动方式上的不同。 Selenium 在启动 web自动化的时候只需要一个 driver 即可,但是 app 自动化的时候就像哟很多的设备信息。(就像上一章节我们实现访问通讯录的案例一样,在访问通讯录之前,设定了很多的启动参数,其实这些就是 appium 启动的时候需要携带的 Capability 的设备信息。)

根据 Capability 的样式我们可以发现它就是一个字典数据样式,如下:

desired_caps = {}       # 定义 desired_caps 变量,用以赋值很多的启动信息
desired_caps['platformName'] = 'Android'    # 设备名称、系统为 "Android"
desired_caps['platformVersion'] = '7.1.2'   # 这里是在夜神模拟器的设置中心查看安卓版本是 "7.1.2" ,后续会告诉大家如何切换版本
desired_caps['deviceName'] = '127.0.0.1::62001'     # 这里如果是真机的话填写的是设备名称;因为我们用的是模拟器,填写的是IP端口号
desired_caps['appPackage'] = 'com.android.contacts'     # APP 的包名;这里我们使用的是通讯录
desired_caps['appActivity'] = '.activities.PeopleActivity'    # 启动的界面的名字(也或者叫启动名,默认是 "." 开头的)
desired_caps['automationName']='UiAutomator1'

也或者可以直接将其理解为一个配置文件的模式,那么 Capability 到底是什么?里面又有着怎样的信息呢?这就是今天章节需要学习的内容。

 什么是 Capability

ps:说白了 Capability 就是做 app 自动化启动设备的一些必要信息。

其实啊,对于那些已经熟悉了自动化的工程师来说,都非常的了解这个配置对于自动化测试的重要性。这就好比一个导火索的引线,只有把它配置好,才能进行后续自动化测试的相关操作。

简单来说, Capability 的功能就是配置appium的 会话。它的说明就是告诉 appium 想要配置自动化的平台和应用程序。而 Capability 本质上来说是一组设置的集合。其中设置的键值对应设置的名称,例如:"paltformName:Android" ,"deviceName:p9 等。

其主要的功能就是通知 appium 服务器建立需要的session。appium 的客户端与服务端之间的通信连接都是建立在有 session 的基础上进行的。客户端发起通信的时候先发送一个叫做:“capability” 的json对象给服务器。服务器接收到 json 数据后,会自动创建一个 session 并将id返回值客户端。之后客户端识别后用该 session 的 id 发送后续的命令。

 Capability 配置讲解

关于 Capability 的配置,其主要就分成了三部分:公共部分、android部分、ios部分。 相对应的就是配置 android ,就连接 android,配置 ios 则连接 ios。相关配置的介绍 appium 的官网给出了很详细的说明。我们可以详细的去了解相关配置的作用与说明。

接下来我们主要针对一些常用的配置进行介绍与说明。

 Capability 配置讲解 - 公共部分
关键字描述实例
automationName自动化测试的引擎默认就是 appium (一般也不会可以区设置)
platformName你要测试的手机操作系统Android 或者 IOS
platformVersion手机操作系统的版本例如 7.1.2, 4.2.1

先欠着,后面补上…

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/997223.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号