testerhome.com 中国最⼤测试社区...appium的优势 多种开发模式 持 native hybrid...

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

Upload: others

Post on 30-May-2020

23 views

Category:

Documents


0 download

TRANSCRIPT

TesterHome.com 中国最⼤测试社区

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

About Me❖ 黄延胜 (思寒)

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

❖ 开源⼯具AppCrawler作者

❖ ⼗年测试⾏业从业经验

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

❖ 主要⼯作履历

❖ 阿⾥巴巴

❖ 百度

❖ Testin产品总监

❖ 雪球测试技术专家

TesterHome移动测试社区❖ TesterHome.com

❖ 社区介绍

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

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

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

❖ 社区活动

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

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

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

❖ 免费的技术公开课

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

TesterHome社区⾸页

Appium项⽬介绍

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

⾏业测试理念

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

❖ 主流程业务的回归测试

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

❖ app端性能测试⾃动化

❖ 在上百机型的兼容测试

⽬前mobile⾃动化的⽅案

业界top框架综合对⽐

框架发展趋势

Appium的优势

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

❖ 多平台⽀持 android ios firefoxos

❖ 跨语⾔ java python ruby nodejs php

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

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

Android⾃动化测试

iOS⾃动化测试

多平台⽀持

2015/3/25

开源硬件Arduino⽀持

2015/3/25

Appium在Android上的架构

Appium在iOS上的架构

Appium环境安装

appium服务端环境安装

❖ 安装 nodejs

❖ 安装 npm install -g appium

❖ 启动 appium --session-override

appium客户端安装

java客户端安装

❖ 配置maven项⽬

❖ 在src/test下编写⽤例

python客户端安装

❖ pip install Appium-Python-Client

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

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

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

⾃动化测试⽤例编写

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

❖ 启动参数 --session-override

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

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

❖ 编写脚本

❖ 导⼊依赖

❖ capabilities 设置

❖ 元素定位与操作 find+action

❖ 断⾔ assert

Python案例

Java案例

capabilities设置

❖ app apk地址

❖ appPackage 包名

❖ appActivity Activity名字

❖ automationName 默认使⽤uiautomator

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

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

capabilities⽰例代码

元素定位

❖ class

❖ xpath

❖ accessibity id

❖ -ios -android

Android Uiautomator

利⽤Appium DeskTop辅助定位

定位与操作的代码⽰例

常见⾃动化动作⽀持❖ click

❖ sendKeys

❖ sendKeyEvent

⼿势操作❖ press

❖ release

❖ moveTo

❖ tap wait

❖ longPress

❖ cancel

❖ perform

常⽤功能❖ 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

多种架构⽀持

2015/3/25

webview测试-Python

webview测试-JAVA

混合应⽤测试的Python⽰例

混合应⽤测试的Java⽰例

移动浏览器测试

windows⾃动化测试⽰例

Appium⽀持Grid模式

2015/3/25

Appium作为Selenium Grid的节点

社区推⼴

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

❖ 讲师分布

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

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

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

❖ 受众群体:  

❖ 测试⼯程师 研发⼯程师

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

test-china.org

MTSC 2018 中国移动测试⼤会

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

TesterHome霍格沃兹学院

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

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

❖ testerhome与stuq合作项⽬

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

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

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

Q&A

❖ 欢迎关注TesterHome测试社区

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

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