| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> Pytest入门[3] -> 正文阅读 |
|
[开发测试]Pytest入门[3] |
目录 一、pytest默认的测试用例规则1.模块名必须以test_开头或_test结尾 2.测试类必须以Test开头 3.测试方式必须test_开头 1.发现测试用例:从多个py文件里面找到我们的测试用例 2.执行测试用例:按一定的顺序执行,并且生成报告 3.判断测试结果,断言 4.生成测试报告:allure报告 python:pytest,unittest java:junit,testng 二、pytest详细介绍1.pytest是一个成熟的python单元测试框架 2.它能够和自动化测试工具,selenium,requests,applum结合实现自动化 3.skip跳过用例,reruns失败用例重跑,多线程。 4.pytest和allure生成美观的测试报告。 5.它结合jenkins实现持续集成。 6.pytest有很多的插件 ? ? ? ? pytest? ? ? ? ? ? ? ?本身 ? ? ? ? pytest-html? ? ? 生成html报告的插件 ? ? ? ? pytest-xdist? ? ? 实现多线程 ? ? ? ? pytest-ordering? 改变测试用例的执行顺序 ? ? ? ? pytest-rerunsfailures 失败用例重跑 ? ? ? ? allure-pytest 生成allure报告 三、pytest的运行方式1.main()方式运行
2.命令行方式运行
3.通过配置文件pytest.ini运行 不管你是main方式运行也好,还是命令行方式运行也好,都会自动的读取这个配置文件去执行 -vs? ? ? ? ? ? ? -v打印详细信息,-s打印调试信息 -n? ? ? ? ? ? ? ? -n表示多线程运行 --reruns? ? ? ?失败用例重跑(--reruns 2 用例失败后执行两次) --html=路径? 生成html的报告 -m? ? ? ? ? ? ? ? 指定带标记的测试用例 四、改变pytest用例执行顺序
五、pytest还有一些前后置功能每个用例之前和之后,以及每个类之前和之后
如果有10000个用例,我希望的是在其中的三个用例里面需要做前后置 部分类前后置。使用fixture装饰器。 方法如下: @pytest.fixture(scope="作用域",params="数据驱动",autouse="自动执行",ids="数据驱动时重命名参数名",name="给fixture作用的函数重命名") 1.scope参数?:? function? ? ? 函数 class? ? ? ? ? 类 module? ? ? ?模块 package/session 回话 部分类的前后置
会话的前后置,一般会结合conftest.py文件一起使用 1.conftest.py单独用于存放fixture固件的配置文件 2.在conftest.py中固件在使用时不需要导包。 3.可以有多个conftest.py文件 六、接口关联(需要把所有的全局变量都集中管理)比较成熟的是:通过一个单独的yaml文件管理 接口自动化测试框架封装的第一步:接口关联封装 思想比脚本重要 七、生成漂亮的allure报告1.官网下载allure 下载之后解压保存到E盘,并且需要把bin路径配置到path里面 2.验证allure安装是否成功 allure --version 3.生成allure报告 (1)生成临时的json格式的报告 ? (2)生成html报告
八、解决一个接口只有一个用例的问题?(数据驱动)@pytest.mark.parameter(args_name,args_value) args_name:参数名,字符串 args_value:参数值,(list,tuple,字典列表,字典元组),有多少个值那么测试用例就会执行多少次 第一种用法:
第二种用法:解包
九、90%企业都是通过Yaml来管理接口自动化测试的用例yaml是一种数据格式,主要用于配置文件或编写用例 yaml只有两种数据 1.键值对: access_token:value 2.list.用一组横线开头表示(-) 操作yaml所使用的第三方库不是yaml,而是pyyaml 一个py文件可以有多个接口 一般一个接口对应一个yaml文件,一个yaml文件里面就有几十个用例,有正例和反例。
|
|
开发测试 最新文章 |
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/18 2:30:03- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |