一、环境配置
1、安装jdk 配置环境变量
2、Android SDK 环境安装
3、Appium Server安装
4、模拟器安装
5、安装appium-python-client Python第三方库
二、APP自动化测试原理
三、Desired Capabilites——APPium自动化配置项
1、设置参数
2、操作系统
3、选择版本
4、设备名称
5、包名
6、入口程序
四、常用ADB命令
1、连接模拟器
adb connect 127.0.0.1:62001
其他模拟器:雷神、夜神、mumu、逍遥
2、查看连接的设备
adb devices
3、查看被测app的包名及入口启动页面
aapt dump badging apk路径
五、Python代码实现操作手机终端
六、Appium日志查看
1、自动化脚本发送http请求
2、创建会话
3、确认终端设备是否连接,设置参数是否与终端一致
4、appium会推送一个包“AppiumBootstrap.jar”
模拟器上 api包:appium server指令进行接收、操控手机终端
5、响应Http请求
6、下一个Http请求
七、Appium元素定位工具
1、UI Automator view
Android SDK自带的定位工具
位置:Android SDK/tools/ul automatorvier.bat
八、元素常见的属性
- text
- resoueld
- class:元素标签
- Content-desc: 元素功能描述、语音播报
2、Appium Desktop Inspector
appium server 自带的定位工具
3、Weditor
Uiautomator python 第三方库appUI自动化测试框架
安装Uiatutomator:pip install Uiautomator
命令ol:python -m ulautomator2 init
命令os:pip install weditor
确认安装:cmd
weditor --help
九、Appium界面元素定位方法
1、通过resourceid属性定位
find_element_by_id 返回是webElement对象
2、通过文本定位:
find_element_by_android_uiautomator()
3、通过调用系统自带框架实现元素定位
基于java代码编写——UiSelector实现元素定位
4、通过content-desc/description属性实现元素定位
find_element_by_accessibility_id(“content-desc/description属性值”)
5、通过xpath定位
十、App元素操作
1、APP四大常用元素操作:点击click()、send_keys()、get_attibute()、text()
2、滑屏:多点触控、长按…
3、滑屏操作:左滑、右滑
Swipel(self:T,start_x:int,start_y:int,end_x:int,end_y:int,duration:int=0)
参数说明:
- start_x:开始位置的x坐标
- start_y:开始位置的y坐标
- end_x:结束位置的x坐标
- end_y:结束位置的y坐标
十一、POM及POM设计原理
POM四层:项目=n个页面=base层+pageobject层
第一层:base层,描述每个页面相同的属性及行为
第二层:pageobject层,每个的独有特征及特有行为
第三层:testcases层,用例层,描述项目业务流程
第四层:testdata层,数据层
十二、 Appium元素定位
1、通用定位策略
(1)ACCESSIBILITY_ID 无障碍访问ID
Android:content-desc
IOS:accessibility-id
(2)ID
Android:resource-id
IOS:name
在Slenium中id具有唯一性,appium的id是继承了Selenium,则在appium中,ID不具有唯一性
(3)Class
(4)Xpath:脆弱
(5)IMAGE:定位图片
2、专用定位策略
为不同平台专用
- ANDROID_UIAUTOMATOR -UIAUTOMATOR2
- ANDROID_VIEWTAG
- ANDROID_DATA_MATCHER
使用UIAUTOMATOR2的语法进行元素定位
‘new uiSelctor( )、text(‘新闻’)’