Appium移动自动化框架初探
2016-06-22 11:17
281 查看
作者:cryanimal QQ:164166060
本文简要介绍了appnium自动化框架的架构、加载流程、支持语言、相关配置,以及元素定位工具等。
Appnium是由SauceLabs支持,一家业界领先的测试产品公司, 有成熟的企业测试解决方案
Android上使用了instrumentation和uiautomator两套技术
iOS使用uiautomation
同时还支持firefox, 并可扩展其他平台
跨设备,android iosfirefoxos
跨语言,java python ruby nodejsphp
跨app, 可以在多个app之间交互
不依赖源代码
不限制测试框架和平台
Appium的启动,上文中也有详解
通过命令:Appium–help 可以看到一些可选参数
默认开启4723端口接受webdriver请求
默认开启4724用于和android通讯
视频演示:http://v.youku.com/v_show/id_XNjM0ODIxNTUy.html
详见:http://blog.csdn.net/kaka1121/article/details/51698745
必填的项目:
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
详细情况,参见我的另一篇博文
把当前的结构树映射为html文档
通过xpath来选择元素
三种定位方式
Name: id,label text
Tag_name: component type
Xpath
查看元素的属性以及xpath,使用uiautomatorview
点击
输入
按键事件
Mobile相关:
拖动
划动
长按
本文简要介绍了appnium自动化框架的架构、加载流程、支持语言、相关配置,以及元素定位工具等。
官方网站:
http://appium.ioAppnium是由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/51698700Appium的启动,上文中也有详解
通过命令: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框架综合对比
相关文章推荐
- Appnium移动自动化框架初探
- iOS手势识别的简单应用
- Android 上下滚动条、轮训滚动、广告条
- android studio sdk 开发
- 如何使用Retrofit写一个Android的REST客户端的小教程
- JAVA/Android位运算符——左移(<<)、右移(>>)、与(&)、非(~)、或(|)、异或(^) .
- 自定义控件—仿IOS7适用于Android的滑动开关
- Android ImageView的属性android:scaleType
- Android_数据库异步查询_Loader_入门
- Android 学习实例 Note笔记本
- Android引导页面
- Android 自定义组合布局
- swift: 从零开始学习
- iOS10怎么升级?iOS10 beta1升级教程
- 转-android沉浸式状态栏:Translucent System Bar 的最佳实践
- Android JNI学习笔记2
- iOS 开发之Target-action模式
- swift Alamofire+ObjectMapper——swift(学习九)
- Android Studio中如何打JAR包
- IOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)