| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 自动化测试Selenium+Python+UnitTest系列详细教程四:集成UnitTest单元测试框架 -> 正文阅读 |
|
[开发测试]自动化测试Selenium+Python+UnitTest系列详细教程四:集成UnitTest单元测试框架 |
前言:????????unittest以一种面向对象的方式产生了一些很重要的概念,如果没有面向对象基础,请补充python面向对象知识 unittest简介unittest是Python单元测试框架,类似于Java的JUnit框架。以下是unittest官方文档demo, 这是对三个字符串方法(upper、isupper、split)进行单元测试的简短脚本:
运行结果:3个测试用例运行成功,用例运行结果为pass ? ?
unittest不仅能够支持简单的单元测试和复杂的功能测试, 还可以用来做等UI自动化测试、接口自动化测试 unittest的意义:????????少数的自动化测试用例维护起来看起来是很容易的,但随着项目不断更新迭代,测试套件将持续的增长,测试用例脚本也将变得越来越臃肿庞大,所以我们需要用到一些测试框架对用例的管理和维护。 ?????????1.灵活的组织管理自动化用例、冒烟测试用例? ? ? ?? ?????????2.让用例高效的执行 :可以批量运行大量用例,选中部分用例运行? ? ? ? ?????????3.用例的断言:方便验证测试用例的结果 ? ? ? ? ? ? ? ? ? ?4.测试报告:自动生成html形式测试报告 unittest基础语法规则:1.一个用例class继承unittest.TestCase类,用例类里面的方法即是一个个具体的测试用例TestCase 类方法名称必须以 test 开头,否则是不被unittest识别成用例 类的名称可以不以test开头
运行结果:
? ? ? ? testcase01和testcase02名称以test开头代表测试用例,yinuocase03非测试用例 2.unittest运行机制 ? ? ? ? a.运行当前文件所有用例 ????????unittest.main()方法会运行当前py文件中,所有继承了unittest.TestCase的类里面的用例 比如当前文件有俩个类,都继承了unittest.TestCase,则会运行所有俩个类里面的以test开头的用例,示例代码如下所示: ? ? ? ? ?b.运行当前py文件部分用例: TestSuite:这个类代表一个测试用例或测试套件的集合 addTest(addTests):把TestCase和TestSuite中给的所有的测试实例添加到套件中。 TextTestRunner:一个基础的测试执行器,实现了将结果输出为流的功能。 run:该方法是TextTestRunner主要公共接口,该方法需要一个TestSuite或者TestCase实例作为参数
以上套件只添加了项目1的用例2,项目2的用例1,所以只会执行俩个用例,运行结果如下:
????????c.运行多个py文件以及多个类的测试用例: ? 当用例越来越多的时候,肯定会分多个py文件写用例,比如一个模块的用例会放到一个py文件。 如果想要在多个py文件选择用例运行, TestLoader:经常用来从类和模块中提取创建测试套件,TestLoader对象具有以下方法: loadTestsFromTestCase(testCaseClass) ,此用法可以同时测试多个类,如果运行其它py文件的用例类,只需要将该类import,然后添加到测试套件中去
loadTestsFromName(文件名.类名称.方法名称) : ? ??
0728当前py文件的文件名称 3.每一个用例执行的结果的标识,成功是 .,失败是 F,出错是 E 4.verbosity参数可以控制执行结果的输出,0 是简单报告、1 是一般报告、2 是详细报告。 5.用 setUp()、tearDown()、setUpClass()以及 tearDownClass()可以在用例执行前布置环境,以及在用例执行后清理环境 setUp():用例执行之前的前置操作,有多少个用例就会执行多少次 tearDown():用例执行之后的后置操作,有多少个用例就会执行多少次
?setUpClass:所有用例执行之前的前置操作,仅执行一次 ?tearDownClass:所有用例执行之前的后置操作,仅执行一次 注意:需要加@classmethod装饰器,代码如下所示:
6.可以用第三方库HTMLTestRunner生成html报告。 1.下载HTMLTestRunner文件,放在当前py文件同级目录,(参数中加stream,可以将报告输出到文件:) 2.导入HTMLTestRunner文件HTMLTestRunner类 3.定义测试报告生成路径 示例代码如下:
生成html形式自动化测试报告 ? 如果你也正在学习web/接口自动化测试,测试开发,性能测试流,或者想搭建属于自己的一套自动化测试框架。欢迎加入软件测试技术全栈交流群:821268239,群里会有笔者熬夜精心整理的测试干货,包括面试题、视频、原创文章等资料大礼包。还有大厂高级测试开发一起交流技术 |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 20:39:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |