testerhome.com 中国最⼤测试社区 · 2020. 2. 11. · appium的优势...

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

Upload: others

Post on 03-Sep-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

TesterHome.com 中国最⼤测试社区

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

Page 2: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

About Me❖ 黄延胜 (思寒)

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

❖ 开源⼯具AppCrawler作者

❖ ⼗年测试⾏业从业经验

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

❖ 主要⼯作履历

❖ 阿⾥巴巴

❖ 百度

❖ Testin产品总监

❖ 雪球测试技术专家

Page 3: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

TesterHome移动测试社区❖ TesterHome.com

❖ 社区介绍

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

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

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

❖ 社区活动

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

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

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

❖ 免费的技术公开课

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

Page 4: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

TesterHome社区⾸页

Page 5: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

Appium项⽬介绍

Page 6: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

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

Page 7: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

⾏业测试理念

Page 8: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

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

❖ 主流程业务的回归测试

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

❖ app端性能测试⾃动化

❖ 在上百机型的兼容测试

Page 9: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

⽬前mobile⾃动化的⽅案

Page 10: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

业界top框架综合对⽐

Page 11: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

框架发展趋势

Page 12: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

Appium的优势

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

❖ 多平台⽀持 android ios firefoxos

❖ 跨语⾔ java python ruby nodejs php

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

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

Page 13: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

Android⾃动化测试

Page 14: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

iOS⾃动化测试

Page 15: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

多平台⽀持

2015/3/25

Page 16: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

开源硬件Arduino⽀持

2015/3/25

Page 17: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

Appium在Android上的架构

Page 18: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

Appium在iOS上的架构

Page 19: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

Appium环境安装

Page 20: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

appium服务端环境安装

❖ 安装 nodejs

❖ 安装 npm install -g appium

❖ 启动 appium --session-override

Page 21: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

appium客户端安装

Page 22: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

java客户端安装

❖ 配置maven项⽬

❖ 在src/test下编写⽤例

Page 23: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

python客户端安装

❖ pip install Appium-Python-Client

Page 24: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

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

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

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

Page 25: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

⾃动化测试⽤例编写

Page 26: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

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

❖ 启动参数 --session-override

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

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

❖ 编写脚本

❖ 导⼊依赖

❖ capabilities 设置

❖ 元素定位与操作 find+action

❖ 断⾔ assert

Page 27: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

Python案例

Page 28: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

Java案例

Page 29: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

capabilities设置

❖ app apk地址

❖ appPackage 包名

❖ appActivity Activity名字

❖ automationName 默认使⽤uiautomator

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

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

Page 30: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

capabilities⽰例代码

Page 31: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

元素定位

❖ class

❖ xpath

❖ accessibity id

❖ -ios -android

Page 32: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

Android Uiautomator

Page 33: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

利⽤Appium DeskTop辅助定位

Page 34: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

定位与操作的代码⽰例

Page 35: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

常见⾃动化动作⽀持❖ click

❖ sendKeys

❖ sendKeyEvent

Page 36: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

⼿势操作❖ press

❖ release

❖ moveTo

❖ tap wait

❖ longPress

❖ cancel

❖ perform

Page 37: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

常⽤功能❖ 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 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

多种架构⽀持

2015/3/25

Page 39: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

webview测试-Python

Page 40: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

webview测试-JAVA

Page 41: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

混合应⽤测试的Python⽰例

Page 42: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

混合应⽤测试的Java⽰例

Page 43: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

移动浏览器测试

Page 44: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

windows⾃动化测试⽰例

Page 45: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

Appium⽀持Grid模式

2015/3/25

Page 46: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

Appium作为Selenium Grid的节点

Page 47: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

社区推⼴

Page 48: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

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

❖ 讲师分布

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

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

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

❖ 受众群体:  

❖ 测试⼯程师 研发⼯程师

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

Page 49: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

test-china.org

MTSC 2018 中国移动测试⼤会

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

Page 50: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python
Page 51: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

TesterHome霍格沃兹学院

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

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

❖ testerhome与stuq合作项⽬

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

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

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

Page 52: TesterHome.com 中国最⼤测试社区 · 2020. 2. 11. · Appium的优势 多种开发模式⽀持 native hybrid webview 多平台⽀持 android ios firefoxos 跨语⾔ java python

Q&A

❖ 欢迎关注TesterHome测试社区

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

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