1、安装jdk 配置环境变量
2、Android SDK 环境安装
3、Appium Server安装
4、模拟器安装
5、安装appium-python-client Python第三方库
1、设置参数
2、操作系统
3、选择版本
4、设备名称
5、包名
6、入口程序
1、连接模拟器
adb connect 127.0.0.1:62001
其他模拟器:雷神、夜神、mumu、逍遥
2、查看连接的设备
adb devices
3、查看被测app的包名及入口启动页面
aapt dump badging apk路径
1、自动化脚本发送http请求
2、创建会话
3、确认终端设备是否连接,设置参数是否与终端一致
4、appium会推送一个包“AppiumBootstrap.jar”
模拟器上 api包:appium server指令进行接收、操控手机终端
5、响应Http请求
6、下一个Http请求
1、UI Automator view
Android SDK自带的定位工具
位置:Android SDK/tools/ul automatorvier.bat
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
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定位
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)
参数说明:
POM四层:项目=n个页面=base层+pageobject层
第一层:base层,描述每个页面相同的属性及行为
第二层:pageobject层,每个的独有特征及特有行为
第三层:testcases层,用例层,描述项目业务流程
第四层:testdata层,数据层
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、专用定位策略
为不同平台专用
使用UIAUTOMATOR2的语法进行元素定位
‘new uiSelctor( )、text(‘新闻’)’