UI自动化unittest框架之装饰器@classmethod

2024-03-26 00:48

本文主要是介绍UI自动化unittest框架之装饰器@classmethod,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

12/3

March 12th

星期一

Monday

01

进入正文探讨

前言:unittest框架大家应该很熟悉,unittest里面setUp可以在每次执行用例前执行,这样有效的减少了代码量,但是有个弊端,就是我们每执行一条用例,就会打开一次浏览器;缺点:操作繁琐、耗时长、易报错。

于是就想是不是可以只打开一次浏览器,执行完所有用例再关闭呢?

这就需要用到装饰器(@classmethod)来解决了。

一.装饰器

1>用setUp与setUpClass区别

  • setup():每个测试case运行前运行

  • teardown():每个测试case运行完后执行

  • setUpClass():必须使用@classmethod 装饰器,所有case运行前只运行一次

  • tearDownClass():必须使用@classmethod装饰器,所有case运行完后只运行一次

2>@是修饰符,classmethod是python里的类方法

二.selenium实例模型

1>可以把打开浏览器操作放到前置setUpClass(cls)里,这样就可以实现打开一次浏览器,执行多个case了

# coding:utf-8
import unittest
import timeclass Test(unittest.TestCase):@classmethoddef setUpClass(cls):print("start!")
#初始化环境 开始执行脚本@classmethoddef tearDownClass(cls):time.sleep(1)print("end!")
#结束def test01(self):print(u"执行测试用例01")
#开始执行测试用例...def test03(self):print(u"执行测试用例03")def test02(self):print(u"执行测试用例02")def addtest(self):print(u"add方法")if __name__ == "__main__":unittest.main()

2>从执行结果可以看出,前置和后置在执行用例前只执行了一次。

通过装饰器后,我们执行的耗时就缩短,执行一次即可跑完测试用例

初学者们,看到这里你们明白了吗?欢迎留言给出建议:) 

文部分来源网络,如有侵权请第一时间联系删除。

02

猛戳下方好文

欢迎投稿与推荐

 来了老弟--Python300本电子书免费送

 Python就业指导

 我的第一次埋点功能测试

 资深测试老司机经验总结:什么才是软件测试工程师的正常心态?

03

主人简介背锅侠Tester

各项技术文档推送学习爬虫/jmeter/python/git/linux/selenium/linux/appscan/经营性书籍...

04

长按下方二维码进行关注

点一下好看再走吧

这篇关于UI自动化unittest框架之装饰器@classmethod的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/846810

相关文章

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

Python调用LibreOffice处理自动化文档的完整指南

《Python调用LibreOffice处理自动化文档的完整指南》在数字化转型的浪潮中,文档处理自动化已成为提升效率的关键,LibreOffice作为开源办公软件的佼佼者,其命令行功能结合Python... 目录引言一、环境搭建:三步构建自动化基石1. 安装LibreOffice与python2. 验证安装

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

WinForm跨线程访问UI及UI卡死的解决方案

《WinForm跨线程访问UI及UI卡死的解决方案》在WinForm开发过程中,跨线程访问UI控件和界面卡死是常见的技术难题,由于Windows窗体应用程序的UI控件默认只能在主线程(UI线程)上操作... 目录前言正文案例1:直接线程操作(无UI访问)案例2:BeginInvoke访问UI(错误用法)案例

从入门到进阶讲解Python自动化Playwright实战指南

《从入门到进阶讲解Python自动化Playwright实战指南》Playwright是针对Python语言的纯自动化工具,它可以通过单个API自动执行Chromium,Firefox和WebKit... 目录Playwright 简介核心优势安装步骤观点与案例结合Playwright 核心功能从零开始学习

Python自动化批量重命名与整理文件系统

《Python自动化批量重命名与整理文件系统》这篇文章主要为大家详细介绍了如何使用Python实现一个强大的文件批量重命名与整理工具,帮助开发者自动化这一繁琐过程,有需要的小伙伴可以了解下... 目录简介环境准备项目功能概述代码详细解析1. 导入必要的库2. 配置参数设置3. 创建日志系统4. 安全文件名处