Top Banner
TesterHome.com 中国最⼤测试社区 Appium⾃动化测试技术 seveniruby Date: 2017-08-20
52

TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

May 30, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

TesterHome.com 中国最⼤测试社区

Appium⾃动化测试技术 sevenirubyDate: 2017-08-20

Page 2: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

About Me❖ 黄延胜 (思寒)

❖ TesterHome社区技术专家&联合创始⼈

❖ 开源⼯具AppCrawler作者

❖ ⼗年测试⾏业从业经验

❖ 现任多家公司的测试技术顾问

❖ 主要⼯作履历

❖ 阿⾥巴巴

❖ 百度

❖ Testin产品总监

❖ 雪球测试技术专家

Page 3: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

TesterHome移动测试社区❖ TesterHome.com

❖ 社区介绍

❖ 中国最⼤的移动测试社区

❖ 注册测试⼯程师近两万名

❖ 倡导⽤技术推动测试⾏业发展

❖ 社区活动

❖ ⼀年⼀度中国移动互联⽹测试开发⼤会 规模⼀千⼈

❖ 全国⼗多城市的线下技术交流沙龙

❖ 组织翻译引进和改进国内外的诸多开源⼯具

❖ 免费的技术公开课

❖ 与StuQ合作的商业培训系列课程

Page 4: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

TesterHome社区⾸页

Page 5: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

Appium项⽬介绍

Page 6: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

移动互联⽹公司的⼀般架构简化模拟

Page 7: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

⾏业测试理念

Page 8: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

UI⾃动化测试在企业中的价值

❖ 主流程业务的回归测试

❖ ⾃动探索和⾃动遍历测试

❖ app端性能测试⾃动化

❖ 在上百机型的兼容测试

Page 9: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

⽬前mobile⾃动化的⽅案

Page 10: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

业界top框架综合对⽐

Page 11: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

框架发展趋势

Page 12: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

Appium的优势

❖ 多种开发模式⽀持 native hybrid webview

❖ 多平台⽀持 android ios firefoxos

❖ 跨语⾔ java python ruby nodejs php

❖ ⽀持跨app, 可以在多个app之间交互

❖ 不依赖源代码, 可以测试第三⽅应⽤, ⽐如测试微信服务号

Page 13: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

Android⾃动化测试

Page 14: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

iOS⾃动化测试

Page 15: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

多平台⽀持

2015/3/25

Page 16: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

开源硬件Arduino⽀持

2015/3/25

Page 17: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

Appium在Android上的架构

Page 18: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

Appium在iOS上的架构

Page 19: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

Appium环境安装

Page 20: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

appium服务端环境安装

❖ 安装 nodejs

❖ 安装 npm install -g appium

❖ 启动 appium --session-override

Page 21: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

appium客户端安装

Page 22: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

java客户端安装

❖ 配置maven项⽬

❖ 在src/test下编写⽤例

Page 23: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

python客户端安装

❖ pip install Appium-Python-Client

Page 24: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

webview测试需要额外的安装步骤

❖ appium --chromedriver-executable /path/to/my/chromedriver

❖ npm install appium-chromedriver --chromedriver_cdnurl=http://npm.taobao.org/mirrors/chromedriver

Page 25: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

⾃动化测试⽤例编写

Page 26: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

测试⽤例的重要部分❖ 启动appium

❖ 启动参数 --session-override

❖ 获得可访问的url http://localhost:4723/wd/hub

❖ 准备⼿机设备或者模拟器 genymotion bluestacks

❖ 编写脚本

❖ 导⼊依赖

❖ capabilities 设置

❖ 元素定位与操作 find+action

❖ 断⾔ assert

Page 27: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

Python案例

Page 28: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

Java案例

Page 29: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

capabilities设置

❖ app apk地址

❖ appPackage 包名

❖ appActivity Activity名字

❖ automationName 默认使⽤uiautomator

❖ noReset fullReset 是否在测试前后重置相关环境

❖ unicodeKeyBoard 是否需要输⼊⾮英⽂之外的语⾔

Page 30: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

capabilities⽰例代码

Page 31: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

元素定位

❖ class

❖ xpath

❖ accessibity id

❖ -ios -android

Page 32: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

Android Uiautomator

Page 33: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

利⽤Appium DeskTop辅助定位

Page 34: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

定位与操作的代码⽰例

Page 35: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

常见⾃动化动作⽀持❖ click

❖ sendKeys

❖ sendKeyEvent

Page 36: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

⼿势操作❖ press

❖ release

❖ moveTo

❖ tap wait

❖ longPress

❖ cancel

❖ perform

Page 37: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

常⽤功能❖ https://github.com/appium/appium/blob/master/docs/en/

writing-running-appium/appium-bindings.md

❖ 系统操作

❖ lock background hideKeyBoard openNotifications Shake

❖ startActivity currentActivity getCurrentPackage

❖ app操作

❖ installApp removeApp isInstalled closeApp launchApp reset getAppStrings

❖ getContextHandles getContext context

Page 38: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

多种架构⽀持

2015/3/25

Page 39: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

webview测试-Python

Page 40: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

webview测试-JAVA

Page 41: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

混合应⽤测试的Python⽰例

Page 42: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

混合应⽤测试的Java⽰例

Page 43: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

移动浏览器测试

Page 44: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

windows⾃动化测试⽰例

Page 45: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

Appium⽀持Grid模式

2015/3/25

Page 46: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

Appium作为Selenium Grid的节点

Page 47: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

社区推⼴

Page 48: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

中国移动互联⽹测试开发⼤会❖ 以移动测试开发技术为主题的⾏业交流⼤会

❖ 讲师分布

❖ Google 英特尔 ⼯信部 腾讯 阿⾥ 百度 华为

❖ 美团 携程 链家 搜狗 饿了么 360 ⾖瓣 平安证券 第四范式 思杰等

❖ 会议现场:  北京国际会议中⼼ 规模⼀千⼈ 为期⼀天

❖ 受众群体:  

❖ 测试⼯程师 研发⼯程师

❖ 测试经理 测试总监 研发经理 研发总监 架构师 CTO

Page 49: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

test-china.org

MTSC 2018 中国移动测试⼤会

主办⽅: TesterHome规模: ⼀千⼈地点: 北京国际会议中⼼

Page 50: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,
Page 51: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

TesterHome霍格沃兹学院

❖ http://new.stuq.org/course/72

❖ https://testerhome.com/topics/9728

❖ testerhome与stuq合作项⽬

❖ 移动互联⽹测试⼯程师进阶商业课程

❖ 报名可获得⼀线公司的内推机会

❖ 送腾讯 百度 京东 ⼩⽶等知名公司的公仔纪念品

Page 52: TesterHome.com 中国最⼤测试社区...Appium的优势 多种开发模式 持 native hybrid webview 多平台 持 android ios firefoxos 跨语 java python ruby nodejs php 持跨app,

Q&A

❖ 欢迎关注TesterHome测试社区

❖ 技术交流请上 testerhome.com @seveniruby 即可

❖ 加好友请注明姓名和公司