首页 > 编程语言 >第九课 Python自动化之selenium 自动化unittest框架(9.3)

第九课 Python自动化之selenium 自动化unittest框架(9.3)

时间:2024-11-18 14:19:03浏览次数:1  
标签:框架 Python unittest 用例 自动化 print 方法 def

自动化框架*

一、介绍框架

1、unittest 框架是python中自带的框架

2、作用:管理和组织测试用例

当我们写的用例越来越多,我们就要考虑用例的编写的规范和组织,以便于后期的维护

3、常见的自动化框架:po框架、pytest 框架、unittest框架(我们讲解)

4、unitest 框架自带标准的库:有如下

a、TestCase类 (测试用例)
b、TestSuite类 (测试套件)
c、TestLoader类 (测试路径)
d、TextTestRunner类 (测试运行)
e、TextTestResult类 (测试结果)
f、TestFixture类 (测试前后准备)
解释下:
TestCase:
一个Testcase的实例就是一个测试用例,测试用例就是一个完整的测试流程,包括初始化setUp、运行run、测试后的还原tearDown
TestSuite:
对一个功能的测试往往需有多个测试用例,可以把多的测试用例集合在一起执行,这就是TestSuite的概念。常用addTest()方法将一个测试用例添加到测试套件中
TextTestRunner:
是用来执行测试用例的,其中的run(test)用来执行TestSuite/TestCase。测试的结果会保存在TextTestResult实例中
TestFixture:
测试准备前要做的工作和测试执行完后要做的工作.包括setUp()和tearDown()。通过覆盖TestCase的setUp和tearDown来实现。
TestLoader:
是用来搜索所有以test开头的测试用例,然后将其加入到testsuite中去执行

5、unittest的框架的结构:

import  unittest # 导入unittest框架
class   Cms_Test(unittest.TestCase): # 创建一个类,一个testcase就是一个用例  ,继承unittest.testcase
    # 类方法
    @classmethod  #定义一个类方法
    def  setUpClass(cls) -> None:  #类的开始,在整个框架中只执行一次
          print("类开始")
    @classmethod  #定义一个类方法
    def  tearDownClass(cls) -> None:   #类的结束  ,在整个框架中只执行一次
        print("类的结束")
    def setUp(self) -> None:  #方法的开始 ,每一条用例执行,他们都去执行
        print("方法的开始")
    def tearDown(self):  #方法结束 ,每条用例都会去执行
        print("方法结束")
    def  test1(self): #用例1    tset 以test开头
        print("1111") #用例内容 (写在函数内,也可以模块在群用,等)
    def   test3(self):#
        print("3333")
    def   test2(self):
        print("2222")
    def   testa(self):
        print("aaaa")
    def   testA(self):
       print("AAAA")
    def  dcs(self): #  没有以test开头的用例 ,不被运行
        print("dcs独有")
if __name__ == '__main__':
     unittest.main() #第一种执行方法,执行全部的用例

结果:
类开始类的结束

方法的开始
1111
方法结束
方法的开始
2222
方法结束
方法的开始
3333
方法结束
方法的开始
AAAA
方法结束
方法的开始
aaaa
方法结束

备注:

1、类的开始,类的结束,方法开始,方法结束都可以不写

2、用例要以test开头,如果没有以test开头就不运行

3、test开头的用例运行顺序: 按ascllma标准:0-9 A-Z a-z

4、类的开始,类的结束在整个框架中就运行一次

5、方法开始和方法结束,每一条用例都执行

标签:框架,Python,unittest,用例,自动化,print,方法,def
From: https://www.cnblogs.com/weiyus1916/p/18552533

相关文章

  • 基于yolov8、yolov5的玉米病害检测识别系统(含UI界面、训练好的模型、Python代码、数据
    项目介绍项目中所用到的算法模型和数据集等信息如下:算法模型:  yolov8、yolov8+SE注意力机制或yolov5、yolov5+SE注意力机制,直接提供最少两个训练好的模型。模型十分重要,因为有些同学的电脑没有GPU,无法自行训练。数据集:  网上下载的数据集,格式都已转......
  • python毕设超市进销存管理系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于超市进销存管理系统的研究,现有研究主要以通用的企业进销存管理为主,专门针对超市这一特定场景的进销存管理系统研究较少。在国内外......
  • 【python系列】python数据类型的分类和比较
    一、数据类型的定义在程序设计的类型系统中,数据类型(英语:Datatype),又称资料型态、资料型别,是用来约束数据的解释。——Wikipedia从定义我们可以看出来,数字类型的理解最主要的是约束数据的解释,每个类型都有他们自己所使用得场景,这个就是数字类型的分类,分类的结果可以方便......
  • Python程序py代码加密方法
    Python程序语言使用方便,应用范围广,但Python的代码加密保护是一个问题,下面介绍一种专业的python程序py代码加密方法,可以有效地保护源代码! 下载最新加密锁开发工具包http://chinadlp.com/?list-DriveDownload.html 完全默认安装后,打开如下开发工具 在安装目录下找到python......
  • 视频号直播自动回复功能,浏览器自动化插件vx llike620
    视频号直播后台:https://channels.weixin.qq.com/platform/live/home开启直播以后,一定要在视频号助手后台,有直播管理页面下,就是那个展示评论和能发送评论框的页面,启动插件。要把自己主播的昵称屏蔽掉,否则会捕获到自己回复的,造成死循环视频号后台循环发送话术和回复,回复频率......
  • 我开源了一个支持python代码在浏览器实时渲染ui和交互的插件!
    1.这个项目是干什么的?AICodePreviewExtension是一款专为开发者设计的Chrome浏览器扩展程序。它旨在帮助用户在AI对话平台(如ChatGPT等)中轻松预览和交互代码,无需切换到本地环境即可测试和运行代码。通过提供实时渲染和代码管理功能,这个工具极大地提升了开发者在日常......
  • 24.Python基础篇-异常处理
    1.什么是异常?异常(Exception)是程序在运行过程中出现的错误情况。Python提供了强大的异常处理机制,使得程序在遇到错误时能够继续执行或者给出适当的错误提示。避免程序因为某个错误而中断。异常处理有助于提高代码的健壮性,2.异常处理的语法:try:用于包围可能会抛出异常的代码块......
  • python内置 any 与 all
    any在Python中,any是一个内置函数,用于判断可迭代对象(如列表、元组、集合等)中是否至少有一个元素为True。它返回一个布尔值。语法:any(iterable)参数:iterable:任何可迭代对象,例如列表、元组、集合、生成器等。返回值:True:如果iterable中至少有一个元素为真。False:如......
  • 浙江自动化装备等研发生产制造企业源代码防泄密怎么做?
    在浙江的自动化装备等研发生产制造企业中,源代码作为企业的核心知识产权,其安全性直接关系到企业的竞争力和长期发展。因此,采取有效的源代码防泄密措施是这些企业必须面对的重要课题。特别推荐安秉网盾作为源代码防泄密的重要工具。安秉网盾作为一款专业的企业数据安全解决方案......
  • golang调用第三方程序并实现交互输入自动化
    应用场景:在openwrt下调用移远的测试程序,并实现输入自动话,获取imeiroot@OpenWrt:~#ql-api-testTestgroups:0:ql_dsi1:ql_nw2:ql_sim3:ql_dev4:ql_voice5:ql_sms6:ql_adc7:ql_i2c8:ql_enit9:......