当前位置: 首页 > news >正文

1.pytest基础知识(默认的测试用例的规则以及基础应用)

一、pytest单元测试框架

1)什么是单元测试框架
单元测试是指再软件开发当中,针对软件的最小单位(函数,方法)进行正确性的检查测试。
2)单元测试框架
java:junit和testing
python:unittest和pytest
3)单元测试框架主要做什么?
1.测试发现:从多个文件里面去找到我们测试用例
2.测试执行:按照一定的顺序和规则去执行。并生成脚本
3.测试判断:通过断言判断预期结果和实际结果的差异
4.测试报告:统计测试进行,耗时,通过率,生成测试报告

二、单元测试框架和自动化测试框架有什么关系?
1)什么是自动化测试框架
2)作用
        1.提高测试效率,降低维护成本
        2.减少人工干预,提高测试的准确性,增加代码的重用性
        3.核心思想是让不懂代码的人也能够通过这个框架去实现自动化测试

三、pytest简介
1.pytest是一个非常成熟的python的单元框架,比unittest更灵活,容易上手
2.pytest可以和selenium,request,appium结合实现web自动化,接口自动化,app自动化
3.pytest可以实现测试用例的跳过以及reruns失败用例重试
4.pytest可以和allure生成非常美观的测试报告
5.pytest可以和Jenkins持续集成
6.pytest有很多非常强大的插件,并且这些插件能够实现很多实用的操作
       pytest-html(生成html格式的自动化测试报告)
        pytest-xdist(测试用例分布式执行,多CPU分发)
        pytest-ordering (用于改变测试用例的执行顺序)
        pytest-rerunfailures (用例失败后重跑)
        allure -pytest(用于生成美观的测试报告)

四、使用pytest,默认的测试用例的规则以及基础应用

1.模块名必须以test_开头,或者_test结尾

2.测试类必须以Test开头,并且不能有init方法

3.测试方法必须以test开头

五、pytest测试用例的运行方式

1.主函数模式
1)运行所有:pytest.main()

2)指定模式:pytest.main(['-vs','test_login.py'])

3)指定目录:pytest.main(['-vs','./interface_testcase'])

4)通过nodeid指定用例运行:nodeid由模块名,分隔符 ,类名,方法名,函数名组成。
       pytest.main(['-vs','./interface_testcase/test_interface.py::test_04_func']) 
       //运行test_04_func函数

      pytest.main(['-vs','./interface_testcase/test_interface.py::TestInterface::test_03_zhiliao']) 

       //运行TestInterface类中的est_03_zhiliao方法


2.命令行模式

1)运行所有:pytest

2)指定模式:pytest -vs test_login.py

3)指定目录:pytest -vs ./interface_testcase

4)通过nodeid指定用例运行:nodeid由模块名,分隔符 ,类名,方法名,函数名组成。
       pytest -vs ./interface_testcase/test_interface.py::test_04_func
       //运行test_04_func函数

      pytest -vs ./interface_testcase/test_interface.py::TestInterface::test_03_zhiliao 

       //运行TestInterface类中的est_03_zhiliao方法



参数详解:
        -s:表示输出调试信息,包括print打印的信息
        -v:显示更详细的信息
        -vs:两个参数可以一起用(还可以再命令行里使用)

        -n:支持多线程或者分布式运行

        --reruns NUM:失败用例重跑

        -x:只要用一个用例报错,测试就停止

        --maxfail=2:出现两个用例报错,测试就停止

        -k:根据测试用例的部分字符串指定测试用例

                pytest -vs ./testcase -k "ao"  //只允许包含ao的用例



 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Navicat 17 新特性 | 聚焦 MongoDB
  • 北森笔试测评之言语理解到底难不难
  • LabVIEW机动车动态制动性能校准系统
  • 【运维监控】Prometheus+grafana监控flink运行情况
  • 【ComfyUI】自定义节点ComfyUI-Impact-Pack——人脸、手部、肢体修复
  • Linux常用命令(四)
  • kubernetes架构
  • YOLOv9改进策略【SPPF】| SimSPPF,简化设计,提高计算效率
  • 【每日刷题】Day125
  • 基于SpringBoot+Vue+MySQL的考研互助交流平台
  • SQL进阶的技巧:如何实现某列的累计乘积?
  • 二叉树——数据结构
  • 代理IP批理检测工具,支持socks5,socks4,http和https代理批量检测是否可用
  • Netty笔记03-组件Channel
  • 苹果华为轮番炒作,AI眼镜会是下一个大热点吗?
  • 「译」Node.js Streams 基础
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Android单元测试 - 几个重要问题
  • ES6 ...操作符
  • java中具有继承关系的类及其对象初始化顺序
  • Kibana配置logstash,报表一体化
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • VUE es6技巧写法(持续更新中~~~)
  • XML已死 ?
  • 搭建gitbook 和 访问权限认证
  • 分享几个不错的工具
  • 猴子数据域名防封接口降低小说被封的风险
  • 你不可错过的前端面试题(一)
  • 小程序button引导用户授权
  • 小程序开发中的那些坑
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • ​Python 3 新特性:类型注解
  • #Datawhale AI夏令营第4期#AIGC方向 文生图 Task2
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #vue3 实现前端下载excel文件模板功能
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • #在 README.md 中生成项目目录结构
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (四)库存超卖案例实战——优化redis分布式锁
  • (算法)前K大的和
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (转)创业家杂志:UCWEB天使第一步
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .net core 的缓存方案
  • .Net Core 微服务之Consul(二)-集群搭建
  • .NET HttpWebRequest、WebClient、HttpClient
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .NET 药厂业务系统 CPU爆高分析
  • /bin、/sbin、/usr/bin、/usr/sbin