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

相关文章

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

深度解析Python装饰器常见用法与进阶技巧

《深度解析Python装饰器常见用法与进阶技巧》Python装饰器(Decorator)是提升代码可读性与复用性的强大工具,本文将深入解析Python装饰器的原理,常见用法,进阶技巧与最佳实践,希望可... 目录装饰器的基本原理函数装饰器的常见用法带参数的装饰器类装饰器与方法装饰器装饰器的嵌套与组合进阶技巧

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

Python使用python-docx实现自动化处理Word文档

《Python使用python-docx实现自动化处理Word文档》这篇文章主要为大家展示了Python如何通过代码实现段落样式复制,HTML表格转Word表格以及动态生成可定制化模板的功能,感兴趣的... 目录一、引言二、核心功能模块解析1. 段落样式与图片复制2. html表格转Word表格3. 模板生

C++ HTTP框架推荐(特点及优势)

《C++HTTP框架推荐(特点及优势)》:本文主要介绍C++HTTP框架推荐的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Crow2. Drogon3. Pistache4. cpp-httplib5. Beast (Boos