首页 > 其他分享 >自动化框架一:unittest

自动化框架一:unittest

时间:2022-10-22 15:44:19浏览次数:53  
标签:TestSuite 框架 unittest 套件 测试用例 测试 自动化 执行

<1>unittest是python中的测试框架,它是一个标准库。   <2>unittest框架的作用 测试工程师的角度:组织、编写自动化测试用例  >批量执行用例 >提供丰富的断言知识 >可以生成报告   <3>unittest的四大组件 TestCase —— 测试用例 TestFixture —— 测试固件 TestSuite+TestLoader —— 测试套件 TestRunner —— 测试运行器 一、TestCase(测试用例)

unittest的用例规则:

1、测试文件必须导包:import unittest

​ 2、测试类必须继承 unittest.TestCase

​ 3、测试方法必须以 test_开头

实例代码:

 

 

二、TestFixture —— 测试固件

 1 方法级别

在每个测试方法(用例代码)执行前后都会自动调用的结构

  • def setUp(),每个测试方法执行之前都会执行 (初始化)
  • def tearDown(),每个测试方法执行之后都会执行 (释放)

示例代码:

 

2 类级别

在每个测试类中所有方法执行前后 都会自动调用的结构(在整个类中 执行之前执行之后各一次)

  • def setUpClass() ,类中所有方法之前
  • def tearDownClass(),类中所有方法之后

 

三、TestSuite+TestLoader —— 测试套件

TestSuite(测试套件):用来组装,打包 ,管理多个TestCase(测试用例)文件的

TestLoader(测试加载)
说明:
1. 将符合条件的测试方法添加到测试套件中
2. 搜索指定目录文件下指定字母开头的模块文件下test开始的方法,并将这些方法添加到测试套件中,最后返回测试套件
3. 与Testsuite功能一样,对他功能的补充,用来组装测试用例

一般测试用例是写在Case这个文件夹里面,当测试用例超多的时候就可以考虑 TestLoader

实例代码:

 

 四、TestRunner —— 测试运行器

 

TestRunner(测试执行):用来执行 TestSuite(测试套件的)

 

代码:首先要准备多个测试用例的文件才可以实现TestSuite和TestRunner,以下代码是已经准备了unittest_Demo2和unittest_Demo1两个测试用例文件

 

一般现在用HTMLTestRunner运行器来批量执行和生成测试报告,这个HTMLTestRunner.py文件是三方编写的,附件在下方。

实例代码:

 

 

 

<4>unittest的断言和跳过  自动化脚本执行时都是无人值守,需要通过断言来判断自动化脚本的执行是否通过,下方是常用断言语句  

 

 对于一些未完成的或者不满足测试条件的测试函数和测试类, 不想执行,可以使用跳过(比如执行冒烟测试想跳过部分用例的)

 

 

 

 

<5>数据驱动

标签:TestSuite,框架,unittest,套件,测试用例,测试,自动化,执行
From: https://www.cnblogs.com/lwcx/p/16816165.html

相关文章

  • 今天聊下Java中的HashMap---Java中用的就很多的集合框架
    先说下HashMap的定义HashMap是一个散列表,存储的内容是键值对(key-value)映射。HashMap实现了Map接口,根据键的HashCode值存储数据,具有很快的访问速度,最多允许一条记录的键......
  • 3_hugo模板框架
    3_介绍hugo的模板hugo使用go的html/template和text/templete库为基础进行模板操作下面只是基础的gotemplate操作,为了更深度的了解请看go文档go模板提供了一......
  • 落地自动化测试之前需要考虑的事
    1、当前面临的痛点是什么?引入自动化测试是为了解决工作过程中遇到的问题或痛点,所以在引入之前第一个要考虑的是当前面临的痛点是什么。比如:线上功能bug频发,人......
  • 自动化测试 - php调用jenkins-api构建job
    背景:前一节搭建jenkins并创建了job任务后,用户可以在jenkins平台手动点击构建来执行pytest自动化任务,想实现一个从web界面去触发构建jenkins中的job任务,在这选择使用php来调......
  • 不妨试试更快更小更灵活Java开发框架Solon
    @目录概述定义性能架构实战SolonWeb示例SolonMybatis-Plus示例SolonWebSocket示例SolonRemotingRPC示例SolonCloudNacos示例概述定义Solon官网地址https://so......
  • 手写基于Java RMI的RPC框架
    留给读者其中最大的区别就是ZooKeeper注册中心,注册中心可以有读写监听器,这是一个优势,可以用来实现订阅通知,也能做数据的同步,甚至可以做基于读写分离的RPC框架,而且它是基......
  • 微服务组件--限流框架Spring Cloud Hystrix分析
    Hystrix的介绍【1】Hystrix是springCloud的组件之一,Hystrix可以让我们在分布式系统中对服务间的调用进行控制加入一些调用延迟或者依赖故障的容错机制。【2】Hystrix通......
  • SpringBoot2.0上启动RPC框架RNF2.0已发布
    使用效果:用户访问客户端:GEThttp://localhost:8081/user/hello?name="张三来访"浏览器访问客户端:服务端接收情况:服务端负载注册服务:上面的实现就好比客户端只......
  • robotframework自动化测试框架实战教程:创建及使用监听器(listener)接口
    RobotFramework提供了一个监听器(listener)接口可以用来接收测试执行过程中的通知. 监听器通过在命令行中设置选项 --listener 来启用,和导入测试库类似,你也可以指定......
  • 前端笔记-内联框架-20221021
    HTMLIframe1.定义:用于在网页内显示网页。2.语法<iframesrc="URL"></iframe>3.内联框架属性height:规定高度width:规定宽度frameborder:属性规定是否显示ifra......