Appium自动化测试知识点

一、App环境搭建

1、安装jdk,配置jdk环境变量
2、Android SDK环境安装
3、Appium server安装
4、模拟器的安装(夜神模拟器)
5、安装appium-python-client Python第三方库

二、App自动化测试原理

如何通过代码操作不同操作系统(ios/Android)不同版本的手机终端?
在这里插入图片描述
Android SDK环境(UiAutomator1 UiAutomator2):不同系统不同版本差异比较大。
不同系统不同版本可能用到不同软件包/框架?所以需要自动化脚本需要指定操作终端的设置参数。

三、Appium 自动化配置项

设置参数:
操作系统 platformName 值
版本 platformVersion
设备名称
包名(应用程序)
入口启动页面

四、常用adb命令

1、连接模拟器
adb connect 127.0.0.1:62001
其他模拟器:雷神5555 夜神62001 mumu7555 逍遥

2、查看连接的设备
adb devices

3、查看被测app的包名及入口启动页面
aapt dump badging apk的路径
在这里插入图片描述

五、Appium日志的查看

python自动化脚本如何操作手机终端过程:
1、自动化脚本发送http请求,请求参数:终端设置参数
2、创建会话
3、确认终端设备是否连接 并且确认安卓版本 确认设置参数是否与终端的设置是否一致
4、appium会推送一个包 'AppiumBootstrap.jar 模拟器上 api包:appium server 指令进行接收,操控手机端
5、相应http请求
6、下一http请求…

六、Appium元素定位工具

6.1 UIAutomatorView

是Android SDK自带的定位工具。
位置:Android SDK/tools/uiautomatorviewer.bat

元素常见几个属性:
text 文本
resoureid:
class: 元素标签
content-desc/description: 元素功能描述 语音播报

注意:在截屏的时候,必须当前截屏的终端没有其他的进程在占用,包括 appium server

6.2 Appium Desktop Inspector

appium server自带的定位工具

6.3 Weditor

python的第三方库。

安装:
命令01: cmd:pip install Uiautomator2
命令02:cmd:python -m uiautomator2 init
命令03: cmd:pip install weditor
确认安装: cmd:weditor --help

七、Appium界面元素定位方法

(id/ClassName/accessibility/xpath)
1、通过resourceid属性定位 find_element_by_id 返回是WebElement对象。
2、通过文本定位 find_element_by_android_uiautomator(''new UiSelector().方法1().方法2()) 组合定位。
通过调佣系统自带框架(Uiautomator1/Uiautomator2)实现元素定位,基于java代码编写 UiSelector实现元素定位,提供很多方法,通过多个属性实现元素定位。
3、通过这个content-desc/description属性实现元素定位:find_element_by_accessibility_id("content-desc/description属性值")。
4、通过xpath定位 一般不建议采用这个方法来进行对应的定位。

八、APP元素的操作

1、APP四大常用元素操作:点击click();send_keys();get_attibute();text()
2、滑屏、 多点触控、长按
3、滑屏操作:左滑 右滑
swipe(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坐标
duration: 延时多少毫秒

九、POM及POM设计原理

POM:page object model 页面对象模型,主要应用于Ui自动化测试框架的搭建,主流设计模式之一。
页面对象模型:结合面向对象编程思路 :把项目的每个页面当做一个对象来进行编程。
python基础:Python怎么描述一个对象?属性+行为
通过类定义=具有相同属性+相同行为对象集合。

POM一般分为四层: 项目=n个页面=base层+pageobject层(页面1,页面2,页面3,…页面n)
第一层: base层 描述每个页面相同的属性及行为
第二层: pageobject层 每个的独有特征及独有的行为
第三层: testcases层 用例层,描述项目业务流程
第四层: testdata 数据层

pom模式设计意义:层次更加清晰,方便管理以及提供代码的复用性及扩展性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yyhgo_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值