软件测试 / 测试开发丨学习笔记之 App 自动化用例录制、结构分析
本文为霍格沃兹测试开发学社学员学习笔记分享
1、自动化用例录制
目录
Appium Inspctor 功能介绍
Appium Inspctor 用法介绍
Appium Inspctor 功能介绍
UI 分析
录制用例
元素查找测试
Attcah 已有的 session
云测试
用例录制
获取 app 的信息
配置待测应用


获取 app 的信息
app 入口,两种方式获取:
1、通过 logcat 日志获取 Mac/Linux: adb logcat ActivityManager:I | grep “cmp"Windows: adb logcat ActivityManager:I | findstr "cmp"
2、通过 aapt 获取 Mac/Linux: aapt dump badging wework.apk | grep launchable-activityWindows: aapt dump badging wework.apk | findstr launchable-activity
启动应用命令 adb shell am start -W -n <package-name>/<activity-name> -S
配置待测应用
platformName:平台,Android/iOS
deviceName:设备名
appPackage:应用的包名
appActivity:应用的页面名 Activity
noReset: 防止清空缓存信息



验证是否启动成功:

Appium inspector 页面结构
功能键
SelectElements:选中元素,查看层级和属性
Swipe By Coordinates:通过坐标点滑动
Tap By Coordinates:通过坐标点点击
Back:返回
Refresh Source & Screenshot:刷新页面
StartRecording:开始录制脚本
Search for element:搜索元素
Copy XML Source to Clipboard:复制 xml 结构
Quit Session & Close Inspector:退出当前 Session
示例
下载官方 Demo apk(https://github.com/appium/appium/tree/master/sample-code/apps)
安装 API Demo.apk
示例-录制用例
打开 API Demo 应用
点击 OS,进入下个界面
点击【Morse Code】
输入内容【ceshiren.com】
返回上一个页面
返回上一个页面
关闭应用

2、自动化测试用例结构分析
desktop 生成用例脚本
el1:点击 OS ,进入下一个页面
调用点击方法
el2:点击 Morse Code
调用 sendkeys 方法,输入 ceshiren.com
返回
用例脚本优化
添加 capability 信息
初始化 webdriver,添加 setup 和 teardown
添加隐式等待和 noReset 属性增强用例稳定性
添加断言
注意 selenium 版本建议 3.141.0appium-python-client 版本建议 1.2.0
完整代码
3、capability 配置参数解析
目录
capability 含义
capability 参数介绍
Capability 简介
功能:配置 Appium 会话,告诉 Appium 服务器需要自动化的平台的应用程序
形式:键值对的集合,键对应设置的名称,值对应设置的值
主要分为三部分公共部分 ios 部分 android 部分
Session
Appium 的客户端和服务端之间进行通信的前提
通过 Desired Capabilities 建立会话
公共部分参数配置

Android 部分特有参数配置

iOS 独有

Desire capability 参数示例
API Demo 启动页配置
配置优化
添加参数,提高用例的稳定性
4、app 自动化控制
目录
启动
数据清理
关闭
启动
启动应用
方式一:webdriver.remote("url",desirecapability)
方式二:launch_app() 将应用启动起来

数据清理
清空输入框内容 clear()
关闭
退出 appquit()
版权声明: 本文为 InfoQ 作者【测试人】的原创文章。
原文链接:【http://xie.infoq.cn/article/39c92bcaca05db064757a3688】。文章转载请联系作者。
评论