pythonui自动化框架_UI自动化测试及框架

本文介绍了使用Python的pytest框架进行UI自动化测试的实践,包括依赖包如selenium和appium,以及测试脚本的组织结构。通过定义基类和页面对象,实现了对浏览器和app的驱动操作,同时展示了如何进行参数化测试和生成测试报告。
摘要由CSDN通过智能技术生成

UI自动化测试及框架

python + pytest框架

依赖包:pytest(单元测试框架)

allure-pytest(生成html报告)

pytest-html(生成html报告)

selenium(web自动化工具)

appium(app自动化工具)

parameterized(参数化)

目录结构:base(封装PO基类,对象库层基类、操作层基类)

page(封装PO页面对象类,定义对象库层、操作层、业务层)

script(存放测试的脚本)

data(存放测试数据)

report(存放测试报告)

log(日志目录)

screenshot(存放截图)

config.py(定义项目的配置信息)

conftest.py(专门存放fixture的配置文件,跨.py文件调用)

utils.py(自定义工具类)

pytest.ini(pytest配置文件)

PO模式先确定几个页面,根据对应的页面去创建页面对象的文件

确定每个页面要用到多少个元素对象库层

操作层

业务层

utils.py预览:

获取浏览器驱动:

# 定义工具类import timefrom selenium import webdriverfrom selenium.webdriver.common.by import Byclass UtilsDriver:    _mp_driver = None  # 表示的是自媒体平台的浏览器驱动    _mis_driver = None  # 表示的是后台管理的浏览器驱动    _app_driver = None  # 表示的是app的驱动    # 定义获取自媒体平台的浏览器驱动    @classmethod    def get_mp_driver(cls):        if cls._mp_driver is None:            cls._mp_driver = webdriver.Chrome()            cls._mp_driver.maximize_window()            cls._mp_driver.get("http://ttmp.research.itcast.cn/")        return cls._mp_driver

退出浏览器驱动:

# 定义退出自媒体平台的浏览器驱动    @classmethod    def quit_mp_driver(cls):        if cls._mp_driver is not None:            cls.get_mp_driver().quit()            cls._mp_driver = None

获取app驱动:

from appium import webdriver as app_driver    # 定义获取app的驱动    @classmethod    def get_app_driver(cls):        if cls._app_driver is None:            des_cap = {                "platformName": "android",  # 表示的是android  或者ios                "platformVersion": "5.1.1",  # 表示的是平台系统的版本号                "deviceName": "****",  # 表示的是设备的ID名称(如果只有一个设备可以用****来代替)                "appPackage": "com.itcast.toutiaoApp",  # 表示app的包名                "appActivity": ".MainActivity",  # 表示的是app的界面名                "noReset": True,  # 用来记住app的session,如果有登陆或做过初始化的操作,为

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值