前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pytest测试框架和unittest_python列表生成式

pytest测试框架和unittest_python列表生成式

作者头像
全栈程序员站长
发布2022-11-04 15:32:29
3140
发布2022-11-04 15:32:29
举报
文章被收录于专栏:全栈程序员必看

一、核心要素

(1)TestCase 测试用例

一个.py脚本就是一个测试用例 测试用例类必须继承于unittest.TestCase 类中的方法名必须以test开头,否则不会被执行 类的外部写main方法(自测代码)

(2)TestSuite 测试套件

测试套件就是测试用例的集合 把多个测试用例集合到一起就构成了测试套件 测试套件不能直接执行

(3)TextTestRunner 测试执行

用来执行测试套件

(4)Fixture 概述,包含两个方法setUp()、tearDown()

在继承unittest.TestCase的前提下,Fixture = setUp()+tearDown()

setUp()负责测试环境的搭建(初始化):实例化浏览器、最大化、隐式等待、打开url tearDown()负责测试环境的销毁:退出登录、退出浏览器等

每一个以test开头的方法被执行之前都会先执行setUp()方法,然后执行test_XXX()方法,最后执行tearDown()方法

二、自动化测试脚本

(1)导入测试框架 import unittest

(2)格式:

class 类名(unittest.TestCase):

def setUp():

def tearDown():

def test_xxx():

(3)注意:

①测试用例中方法名必须以test开头,否则不会被执行。

②记得要在类的外部写main方法,

③光标放在代码后面的空白行或者mian()方法的位置执行

④如果把光标放在某一个方法名后面执行,只能执行当前一个方法

⑤多个方法,按照方法名ASCII的顺序执行

(4)self.driver 扩大driver的作用域,让它在其他方法中可以调用

pytest测试框架和unittest_python列表生成式
pytest测试框架和unittest_python列表生成式

三、自动化脚本批量执行

(1)单个用例是无法批量执行的,只有把多条测试用例组合成测试套件,才可以批量执行

(2)生成测试套件

①实例化TestSuite一个空的测试套件,给套件添加测试用例(方法)

suite = unittest.TestSuite()

②addTest(类名(方法名)):添加指定类中的指定方法

③addTest(unittest.makeSuite(类名)):添加指定类中所有以test开头的方法

pytest测试框架和unittest_python列表生成式
pytest测试框架和unittest_python列表生成式

(3)执行测试套件:实例化TextTestRunner,然后调用run()执行测试套件

pytest测试框架和unittest_python列表生成式
pytest测试框架和unittest_python列表生成式

(4)执行结果

pytest测试框架和unittest_python列表生成式
pytest测试框架和unittest_python列表生成式

四、defaultTestLoader

实际项目中,主要通过discover生成测试套件,可以把defaultTestLoader看做是TestSuite的一种特殊实现方式 。defaultTestLoader中有一个方法discover(),可以在指定目录中搜索指定开头的.py文件,把测试类中所有以test开头的方法添加到测试套件中。格式:discover(指定目录, 指定.py文件开头) 一般,会把套件.py文件和用例放在同一个目录,否则可能导致截图失败,且和测试用例.py文件开头不能相同

pytest测试框架和unittest_python列表生成式
pytest测试框架和unittest_python列表生成式

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/182076.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档