当前位置:网站首页 > 技术博客 > 正文

自动化测试框架包含哪些模块



 

接下来会展开 核心要素来认识unittest框架:

首先介绍下unittest的用例规则:

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

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

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

1、是一个代码文件,在代码文件中来书写真正的用例代码 (里面的print均是模拟测试用例)

 

说明:def 定义的 是测试用例, 的时候会执行测试用例,其他普通函数则不执行,通过 来调用执行。

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

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

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

 

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

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

 
 

 

是一种代码结构,在某些特定情况下,会自动执行。

4.1 方法级别

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

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

特性:几个测试函数,执行几次。每个测试函数执行之前都会执行 setUp,执行之后都会执行tearDwon

 
 

4.2 类级别

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

  • ,类中所有方法之前
  • ,类中所有方法之后

特性:测试类运行之前运行一次setUpClass ,类运行之后运行一次tearDownClass

注意:类方法必须使用 @classmethod修饰

 
 

案列模板:结合了类级别和方法级别实现的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GBxQV2uP-10)(C:/Users/15277/AppData/Roaming/Typora/typora-user-images/image-.png)]

 

1、什么是断言:

​ 让程序代替人工自动的判断预期结果和实际结果是否相符

断言的结果:

​ 1)、True,用例通过

​ 2)、False,代码抛出异常,用例不通过

​ 3)、在unittest中使用断言,需要通过

2、为什么要断言:

​ 自动化脚本执行时都是无人值守,需要通过断言来判断自动化脚本的执行是否通过

注:自动化脚本不写断言,相当于没有执行测试一个效果。

3、常用的断言:

 
 

对于一些未完成的或者不满足测试条件的测试函数和测试类, 不想执行,可以使用跳过

 
 

结果:

image-20220303193648196

ddt:data-driver tests

数据驱动: 是以数据来驱动整个测试用例的执行, 也就是测试数据决定测试结果

数据驱动解决的问题是:

1)、代码和数据分离,避免代码冗余

2)、不写重复的代码逻辑;

在python解释器中需要安装 ddt 这个包才能用:

image-20220302171352407

image-20220302171612334

image-20220302171701727

要检查是否安装上,在cmd当中 输入 pip list命名,有ddt说明安装成功

image-20220302171854877

语法:

1、使用数据驱动,要在class前加上修饰器 @ddt

说明:方法里面使用 print ,为了方便,模拟测试用例,主要是为了学习数据驱动,实际中方法里面写的是测试用例的代码

 

1)、结合 selenium 使用 ddt

 

self:相当于java中的this,当前对象的引用,self.driver定义了driver这个变量。

2、在实际中不可能是单一参数进行传参,将会使用多个参数进行传参:

 
 

但是以上步骤都是数据在代码当中的,假如要测试n个手机号这样的数据,全部写在 @data 装饰器里面就很麻烦,这就引出了数据驱动里面的代码和数据的分离。

3、将数据放入一个文本文件中,从文件读取数据, 如JSON、 excel、 xml、 txt等格式文件 ,这里演示的是文件类型.

json文件处理, 这个链接介绍了json文件和Python文件基本操作

(1)、在json文件驱动

 

(2)、在测试代码中读取json文件

 
 

执行结果:

image-20220302165435736

(3)、txt文件驱动

一行表示一组:

 
 
 

(3)、csv 文件驱动

 

写法一:

 

image-20220309150247944

写法二: 推荐

 

(4) 、yaml文件驱动

 
  • 对应的json文件
 

写法:

 

注意:file_date 装饰器,可以直接读取yaml和json文件

(4)、Excel文件驱动

建立excel表的时候需要退出pychram在根目录下创建excel表保存,否则会报错

 

用excel登录csdn操作

 

截图方法:

 

有两种测试报告:

1、自带的测试报告

2、生成第三方测试报告

9.1 自带测试报告

只有单独运行 TestCase 的代码,才会生成测试报告

image-20220303194203647

image-20220303194254013

image-20220303194445103

image-20220303194711451

9.2 生成第三方测试报告

这里需要第三方的测试运行类模块,然后放在代码的目录中

image-20220303195307666

就像这两个模块一样放进代码目录中

 

写法一:

 

写法二:

 

这里面的当前路径也可以用 来表示!!!

 

注意:

实例化 第三方的运行对象,HTMLTestRunner()的初始化有多种可以自定义设置

image-20220303195856795

 

最后生成结果:

image-20220303222550453


​ unittest框架就本上就是这些知识了,里面记得东西很多,多敲代码,形成记忆,自动化测试后面还剩下selenium,selenium完了过后基本上自动化的内容差不多就结束了,铁汁们,觉得笔者写的不错的可以点个赞哟❤🧡💛💚💙💜🤎🖤🤍💟,收藏关注呗,你们支持就是我写博客最大的动力!!!!

  • 上一篇: rrt算法代码
  • 下一篇: 破解版wps office手机版
  • 版权声明


    相关文章:

  • rrt算法代码2025-01-11 16:01:00
  • socks5代理怎么填2025-01-11 16:01:00
  • 爬虫工具下载2025-01-11 16:01:00
  • 指针数组与数组指针详解2025-01-11 16:01:00
  • java nio网络编程2025-01-11 16:01:00
  • 破解版wps office手机版2025-01-11 16:01:00
  • 多线程 python2025-01-11 16:01:00
  • spotify破解版下载音乐2025-01-11 16:01:00
  • 积分电路原理讲解2025-01-11 16:01:00
  • malloc函数的用法2025-01-11 16:01:00