网站怎样绑定域名,wordpress自带hosts文件下载,如何汉化wordpress插件,常州百度青之峰前言
目前有两种纯测试的测试框架#xff0c;pytest和unittestunittest应该是广为人知#xff0c;而且也是老框架了#xff0c;很多人都用来做自动化#xff0c;无论是UI还是接口pytest是基于unittest开发的另一款更高级更好用的单元测试框架
单元测试框架介绍
单元测试…前言
目前有两种纯测试的测试框架pytest和unittestunittest应该是广为人知而且也是老框架了很多人都用来做自动化无论是UI还是接口pytest是基于unittest开发的另一款更高级更好用的单元测试框架
单元测试框架介绍
单元测试框架是在自动化测试或者白盒测试中对软件的最小单元函数、方法进行测试的框架单元测试框架的分类pythonunitest、pytest、JavaTesting主流、Junit单元测还框架主要做什么 发现测试用例执行测试用例判断测试结果生成测试报告
为什么要用Pytest
pytest 的官方网站介绍它具有如下特点 1、非常容易上手入门简单文档丰富文档中有很多实例可以参考 2、能够支持简单的单元测试和复杂的功能测试 3、支持参数化 4、执行测试过程中可以将某些测试跳过skip或者对某些预期失败的case标记成失败 5、支持重复执行(rerun)失败的 case 6、支持运行由 nose, unittest 编写的测试 case 7、可生成 html 报告 8、方便的和持续集成工具 jenkins 集成 9、可支持执行部分用例 10、具有很多第三方插件并且可以自定义扩展
Pytest安装、简介以及常用插件安装
Pytest安装
cmd运行
pip install -U pytestpip3 install pytest -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.compycharm 直接安装
查看版本
pytest --versionPytest简介及常用插件安装
pytest官方文档 https://docs.pytest.org/en/latest/contents.html 步骤打开Pycharm在项目根路径下面 创建一个.txt的文件夹将要安装的插件放进去 注使用此方法是在虚拟环境安装 DOS环境会安装不成功 打开控制台 输入安装语句 进行安装 上面方法可能安装不成功直接在terminal 单个安装也可以
Pytest 默认测试用例的规则以及基础应用
Pytest 用例设计的规则
用Pytest写用例时候一定要按照下面的规则去写否则不符合规则的测试用例是不会执行的 1、文件名必须以test_.py 文件开头和test.py结尾 2、以 test 开头的函数 3、以 test 开头的类且不能包含 _ _ init_ _ 方法 4、以 test_ 开头的类里面的方法 5、所有的包 package 必须要有__init__.py 文件
Pytest执行基础应用 **执行AltEnter自动导报**1、通过命令行执行方式执行再terminal 和 cmd 中 直接执行。
pytest 执行某个目录下所有的用例
pytest 脚本名称.py 执行某一个 py 文件下用例执行参数 1运行start.py 模块里面的某个函数或者某个类某个类里面的方法 加 -v 和不加 -v 都可以加 -v 的话打印的信息更详细
pytest -v 08_mark.py::TestClass::test_methodpytest 08_mark.py::TestClass::test_methodpytest test.py::test_answer2运行start.py 模块里面,测试类里面的某个方法
pytest start.py::TestClass::test_two(3) -m 标记表达式先了解 pytest -m login将运行用 pytest.mark.login 装饰器修饰的所有测试 4-q 简单打印只打印测试用例的执行结果
在这里插入代码片
pytest -q test.py5-s 详细打印 输出调试信息 pytest -s test.py6-x 遇到错误时停止测试 pytest test.py -x7—maxfailnum当用例错误个数达到指定数量时停止测试 pytest test.py --maxfail18-k 匹配用例中包含某个字符串的名称 执行测试用例名称包含http的所有用例
pytest -s -k http test.py9-k 根据用例名称排除某些用例
1 pytest -s -k not http start.py10-k 同时匹配不同的用例名称
pytest -s -k method or weibo start.py11-nnum 多线程运行插件pytest-cdist 已安装成功
pytest -vs -n2 两个线程一起执行12–rerunsnum 失败重跑 num 是重跑的次数插件pytest-rerunfailres 安装成功 一个进程里面有多个线程
raise Exception() 抛出异常
try except 解决异常pytest -vs --reruns2 抛出异常后重新执行两次13–html 生成html报告 插件pytest-html 已安装成功
pytest --vs --html ./reporters/result.html 后面是存放的位置2、通过主函数main方式执行直接在代码运行文件最后添加。
if __name____main__;pytest.mian()在项目名称下添加运行文件也可以执行
if __name____main__;pytest.mian([-vs])3、通过配置文件pytest.ini文件执行 注意 ① 一般放在项目的根目录下名称必须是pytest.ini
② 编码格式为 ANSI当有中文时可能需要改变编码格式为UTF-8或GB2312
③ pytest.ini文件可以改变默认的测试用例规则
④ 不管是命令行也好还是说主函数运行也好都会加载这个配置文件。 举例
[pytest] #配置文件
#参数
addopts -vs -m smoke #表示 只执行smoke用例testpaths ./testcases #测试用例的位置python_files test_*.py #python文件名的规则会执行对应文件的测试用例python_classes Test* #python文件类名的规则对应文件会执行测试用例python_functions Test_* #python文件方法名的规则对应文件会执行测试用例
------------------------------------------------
#测试用例分组执行。有时候用例多只执行个别模块的可以对测试用例进行分组执行。
#标记
markers smoke:冒烟用例denglu:登录product_manage:商品管理.....
#代码文件中的测试用例上面添加使用
pytest.mark.smokePycharm运行Pytest
1、首先要去settings里面设置单元测试框架为Pytest 2、如果是nosetests的话右键运行是以python脚本运行的 3、如果设置了unittest则是以unittest框架去运行
注意
pytest 是可以兼容 unittest 脚本的写的 unittest 用例也能用 pytest 框架去运行。
Pytest跳过测试用例
无条件跳过
在测试用例上方填写代码
class Testcasepytest.mark.skip(reason无理由跳过)def test_01(self):print(测试)有条件跳过
在已有条件不满足的情况下选择跳过
class Testcasework1pytest.mark.skipif(work1,reason工作少于1年跳过)def test_01(self):print(测试)