- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
appium手机自动化测试_TesterHome公开版
Appium手机自动化测试
Weibo :seveniruby
TesterHome 出品(公开版)
Appium维护情况
• 由SauceLabs支持,一家业界领先的测试产品公司,
有成熟的企业测试解决方案
• Saucelabs有基于appium 的云产品
• 在Google举办的GATC2013大会上有过详细介绍
目前mobile 自动化的方案
业界top框架综合对比
Appium 的优点
• 跨架构,native hybrid webview
• 跨设备,android ios firefoxos
• 跨语言,java python ruby nodejs php
• 跨app, 可以在多个app之间交互
• 不依赖源代码
• 不限制测试框架和平台
基于Android 的测试框架
Appium在Android上的架构
Appium在iOS上的架构
Appium架构
• Appium在4.1 以上使用uiautomator
• 4.1 以下使用selendroid
• Android上使用了instrumentation和
uiautomator两套技术
• iOS使用uiautomation
• 同时还支持firefox, 并可扩展其他平台
Appium 的使用
• 安装nodejs
• 使用npm安装appium
• Appium启动
Appium 的启动参数
• Appium –help 可以看到一些可选参数
• 通过参数可以配置如下内容
• 监听ip和端口
• 是否使用selendroid
• 配置android和ios相关的参数
• 启动app
• 默认开启4723端口接受webdriver请求
• 默认开启4724用于和android通讯
Remote webdriver调用
视频演示
• /v_show/id_XNjM0ODIxNT
Uy.html
Appium 的加载流程
• 调用android adb完成基本的系统操作
• 向android上部署bootstrap.jar包并启动
• Forward android的端口到pc机器上
• Pc上监听端口接受请求,使用webdriver协议
• 分析命令并转通过forward 的端口发给
bootstrap.jar
• Bootstrap.jar接受请求并把命令发给
uiautomator或者插桩体系
具体流程举例
• Webdriver 的脚本执行Element.send_keys
• 发送到remote webdriver
/wd/hub/session/xxx/keys
• pc处理请求并转发给android和iphone
• Bootstrap.jar调用uiautomator
• Uiautomator调用settext方法
Appium设计理念
• 使用webdriver协议与用户交互
• XPath抽象定位
• 底层调用各自平台的自动化技术
• 类似selenium的架构
Webdriver协议
• 使用webdriver协议,成熟标准,应用广泛
• 它即将成为w3c业界标准
• 跨语言, 不限制测试框架
• Remote WebDriver方式支持云测和集群模式
• PC端运行可以支持各种runtimes,不受限手
机环境
Appium支持主流语言
webdriver 的capabilities配置
• App: 本地路径或者网络下载地址
• browserName: 兼容selenium, 并不使用
• Device: ios android firefoxos
• Version: Android API version, iOS Version
• Launch: 是否让appium 自动启动app
文档评论(0)