Appium移动自动化框架初探
作者:cryanimal QQ:164166060
本文简要介绍了appnium自动化框架的架构、加载流程、支持语言、相关配置,以及元素定位工具等。
官方网站:

Appnium是由SauceLabs支持,一家业界领先的测试产品公司, 有成熟的企业测试解决方案
Appium支持的平台

- Android上使用了instrumentation和uiautomator两套技术
- iOS使用uiautomation
- 同时还支持firefox, 并可扩展其他平台
Appium的优点
- 跨架构,native hybrid webview
- 跨设备,android iosfirefoxos
- 跨语言,java python ruby nodejsphp
- 跨app, 可以在多个app之间交互
- 不依赖源代码
- 不限制测试框架和平台
Appium在Android上的架构

Appium在iOS上的架构

Appium的安装
详见:http://blog.csdn.net/kaka1121/article/details/51698700
Appium的启动,上文中也有详解
通过命令:Appium–help 可以看到一些可选参数
默认开启4723端口接受webdriver请求
默认开启4724用于和android通讯
视频演示:http://v.youku.com/v_show/id_XNjM0ODIxNTUy.html
Appium自动化所需工具及android开发环境安装
依赖工具包括uiautomatorviewer、abd、DDMS等
详见:http://blog.csdn.net/kaka1121/article/details/51698745
Appium的加载流程

Appium支持主流语言

Appium webdriver的capabilities配置
Capabilities是由客户端发送给Appium服务器端的用来告诉服务器去启动哪种我们想要的会话的一套键值对集合。当中也有一些键值对是用来在自动化的过程中修改服务器端的行为方式。
必填的项目:
deviceName :我无论填写什么值,在我机器上都可以跑通测试,但是这项又是必填。我用得Appium版本是V1.2.2。
app :如果填写了,appium会在目标机器上安装测试目标app,如果没有的话,会根据appActivity和appPackage去目标机器查找目标app
appPackage : 可以通过sdk自带工具aapt获得

appActivity:同样可以通过以上工具获得。
有一点需要注意的是,值可以附加packageName,也可以不附加。
也就是说以下两种填写方式都是对的“.NotesList”和”com.example.android.notepad.NotesList”
通用配置:

android only:

IOS ONLY

配置原文参见:http://blog.sina.com.cn/s/blog_700be1c00102vgha.html
java Demo示例

详细情况,参见我的另一篇博文
元素定位
- Android和iOS的原生控件以及webview控件映射为特定的命名, 比如把所有平台的按钮映射为button元素
- 把当前的结构树映射为html文档
- 通过xpath来选择元素
三种定位方式
- Name: id,label text
- Tag_name: component type
- Xpath
查看元素的属性以及xpath,使用uiautomatorview

元素交互
Webdriver已经支持
- 点击
- 输入
- 按键事件
Mobile相关:
- 拖动
- 划动
- 长按
附录:业界top框架综合对比

Appium移动自动化框架初探的更多相关文章
- Appium移动自动化框架
引言:Appium 是一个移动端自动化测试开源工具,可以针对不同的平台用一套API来编写测试用例.本文对Appium自动化测试框架的功能进行了概括. 本文选自<软件自动化测试开发>. Ap ...
- Appnium移动自动化框架初探
作者:cryanimal QQ:164166060 本文简要介绍了appnium自动化框架的架构.加载流程.支持语言.相关配置,以及元素定位工具等. 官方网站: http://appium.io Ap ...
- Appium移动自动化框架功能概括
小编说:Appium 是一个移动端自动化测试开源工具,可以针对不同的平台用一套API 来编写测试用例.本文对Appium自动化测试框架的功能进行了概括. 本文选自<软件自动化测试开发>,了 ...
- App 自动化框架设计思路
最近在整理和学习Appium+Java 自动化框架,对APP自动化框架的部分设想参考了一些文章,先进行整理下: 框架的思路一: 思考引入:https://www.cnblogs.com/yunfeio ...
- appium+python自动化项目实战(一):引入nose和allure框架
本文将介绍一套比较完整的appium自动化框架,以python为编写脚本语言,是因为python有强大的库,同时易学易懂. 最终的测试框架代码,将在jenkins项目中一键构建,执行自动化测试用例,并 ...
- Appium+python自动化(三十八) - Appium自动化测试框架综合实践 - 框架简介-助你冲击高薪,迎娶白富美(超详解)
简介 好久没有更新博客了,博友们是不是有点等不及了.不好意思啊,中秋节过后太忙了,这篇是好不容易抽点零碎时间写的.从这一篇开始小伙伴或者童鞋们,就跟随宏哥的脚步,一步步的从无到有,从0到1的搭建一个完 ...
- Appium UI自动化的那些梗
@作者 彭海波 转载请注明出处 前言 由于需求的快速迭代和敏捷测试的要求,在测试过程中引入自动化成为必不可少的手段.作为一个互联网测试团队,我们自然也引入了自动化测试这个环节.在众多的测试框架中,我们 ...
- APP自动化框架LazyAndroid使用手册(2)--元素自动抓取
作者:黄书力 概述 前面的一篇博文简要介绍了安卓自动化测试框架LazyAndroid的组成结构和基本功能,本文将详细描述此框架中元素自动抓取工具lazy-uiautomaterviewer的使用方法. ...
- Android自动化框架介绍
随着Android应用得越来越广,越来越多的公司推出了自己移动应用测试平台.例如,百度的MTC.东软易测云.Testin云测试平台…….由于自己所在项目组就是做终端测试工具的,故抽空了解了下几种常见的 ...
随机推荐
- [HNOI 2017]抛硬币
Description 题库链接 两人抛硬币一人 \(a\) 次,一人 \(b\) 次.记正面朝上多的为胜.问抛出 \(a\) 次的人胜出的方案数. \(1\le a,b\le 10^{15},b\l ...
- [JSOI 2007]麻将
Description 题库链接 给你一副麻将,胡牌的条件是一对将和若干顺子和刻子组成.现在给你 \(m\) 张牌,牌共 \(n\) 种,问你听哪一张牌. \(1\leq n\leq 400,1\le ...
- [HNOI 2013]比赛
Description 沫沫非常喜欢看足球赛,但因为沉迷于射箭游戏,错过了最近的一次足球联赛.此次联 赛共N支球队参加,比赛规则如下: (1) 每两支球队之间踢一场比赛. (2) 若平局,两支球队各得 ...
- [Wc2010]重建计划
Description Input 第一行包含一个正整数N,表示X国的城市个数. 第二行包含两个正整数L和U,表示政策要求的第一期重建方案中修建道路数的上下限 接下来的N-1行描述重建小组的原有方案, ...
- [AHOI2012]铁盘整理
题目描述 输入输出格式 输入格式: 共两行.第一行为铁盘个数N(1<=N<=50),第二行为N个不同的正整数,分别为从上到下的铁盘的半径R.(1<=R<=100) 输出格式: ...
- ●BZOJ 1096 [ZJOI2007]仓库建设
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=1096 题解: 斜率优化DP $(d_i:i 位置到1位置的距离,p_i:i位置的成品数量,c ...
- bzoj3212 Pku3468 A Simple Problem with Integers 线段树
3212: Pku3468 A Simple Problem with Integers Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 2046 So ...
- NOI2017游记
Day -1: THUSC后,下定决心好好学习,不过由于自制力太弱,还是没有忍住浪了几次. 老师把NOI前的天分为了4种:考试日.交流日.讲课日.自习日. 考试日是我被郭神短神妖神任神常神尹神龙神游神 ...
- C++变量和基本类型——2.3.1引用
引用:为对象起了另外一个名字,通常将申明符写成&d的形式来定义引用类型,其中d是申明的变量名: int ival =1024; int &refVal=ival 一般在初始化变量时,初 ...
- day5 liaoxuefeng---实战篇