testerhome.com 中国最⼤测试社区 · 2020. 2. 11. · appium的优势...
TRANSCRIPT
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
TesterHome霍格沃兹学院
❖ http://new.stuq.org/course/72
❖ https://testerhome.com/topics/9728
❖ testerhome与stuq合作项⽬
❖ 移动互联⽹测试⼯程师进阶商业课程
❖ 报名可获得⼀线公司的内推机会
❖ 送腾讯 百度 京东 ⼩⽶等知名公司的公仔纪念品