目录
前言:
Page Object模式是一种常用的设计模式,用于组织和管理自动化测试脚本中的页面对象。它将页面的元素和操作封装在一个独立的类中,使测试脚本更加模块化、可维护和可重用。
简介
- 基于 appium+python3 封装的自动化测试框架
功能
- python3
- unittest 参数化
- pageobject
- 数据维护用的 YMAL
- excel 的测试报告
- 支持多设备 andoird 并行
- 支持 webview
常用目录
- Base 封装常用方法
- Log 记录不同设备的操作用例的日志,操作失败的截图
- PageObject 放 page
- test 目录写测试用例
- runner 运行入口
配置
配置 run.yaml
app: Jianshu.apk
配置 devices.yaml
- devices: emulator-5554
port: 4724
config: appium --session-override -p 4724 -bp 4734 -U emulator-5554
platformName: android
- devices: DU2TAN15AJ049163
port: 4725
config: appium --session-override -p 4725 -bp 4735 -U DU2TAN15AJ049163
platformName: android
实例 - 第一次启动 app
配置用例 yaml
testinfo:
- id: test001
title: 第一次打开
testcase:
- operate_type: swipeLeft
time: 4
element_info: android.widget.ImageView
find_type: class_name
- element_info: com.jianshu.haruki:id/tv_enter
find_type: id
operate_type: click
check:
- element_info: com.jianshu.haruki:id/btn_login
find_type: id
PageObject
class FirstOpen:
'''
kwargs: WebDriver driver, String path(yaml配置参数)
isOperate: 操作失败,检查点就失败
testInfo:
testCase:
'''
def __init__(self, **kwargs):
self.driver = kwargs["driver"]
self.path = kwargs["path"]
self.operateElement = OperateElement(self.driver)
self.isOperate = True
self.testInfo = getYam(self.path)["testinfo"]
self.testCase = getYam(self.path)["testcase"]
'''
操作步骤
logTe