首页 > 其他分享 >pytest_01-pytest简介

pytest_01-pytest简介

时间:2022-11-13 20:56:10浏览次数:134  
标签:01 框架 简介 单元测试 pytest 测试 自动化 测试用例

一、pytest单元测试框架

(1)什么是单元测试框架

单元测试是指在软件开发当中,针对软件的最小单位(函数、方法)进行正确性的检查测试

(2)单元测试框架

java:junit和tesing

python:unittest和pytest

(3)单元测试框架主要做什么?

1.测试发现:从多个文件里面找到我们测试用例

2.测试执行:按照一定的顺序和规则去执行,并生成结果

3.测试判断:通过断言判断预期结果和实际结果的差异

4.测试报告:统计测试进度、耗时、通过率,生成测试报告

 

二、单元测试框架和自动化测试框架有什么关系?

(1)什么是自动化测试框架

(2)作用

1.提高测试效率,降低维护成本

2.减少人工干预,提高测试的准确性,增加代码的重用性

3.核心思想是让不懂代码的人也能够通过这个框架去实现自动化测试

(3)pytest单元测试框架和自动化测试框架的关系

单元测试框架:只是自动化测试框架中组成部分之一

pom设计模式:只是自动化测试框架中组成部分之一

数据驱动......

关键字驱动

全局配置文件的封装

日志监控

selenium,requests二次封装

断言

报告邮件

更多......

 

三、pytest简介

1.pytest是一个非常成熟的pytest的单元框架,比unittest更灵活,容易上手

2.pytest可以和selenium、requests、appium结合实现web自动化、接口自动化、app自动化

3.pytest可以实现测试用例的跳过以及reruns(失败重跑)

4.pytest可以和allure生成非常美观的测试报告

5.pytest可以和Jenkins持续集成

6.pytest有很多非常强大的插件,并且这些插件能够实现很多的实用的操作

  pytest

  pytest-html(生成html格式的自动化测试报告)

  pytest-xdist(测试用例分布式执行,多CPU分发)

  pytest-ordering(用于改变测试用例的执行顺序)

  pytest-rerunfailures(用例失败后重跑)

  allure-pytest(用于生成美观的测试报告)、

批量安装   放到txt中,txt文件名可以随意取,通过pip install -r 文件名.txt

 

 

 

 

 

 

 

 

 

 

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

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

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

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

 

 

 

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

1.主函数模式

  (1)运行所有:pytest.main()

 

 

   (2)指定模块:pytest.main(['test_login.py'])

 

 

   (3)指定目录:pytest.main(['目录的路径文件名'])

 

 

   (4)通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成

 

 

 

2.命令行模式

  (1)运行所有:pytest

 

 

   (2)指定模块:pytest test_product.py

 

 

   (3)指定目录:pytest -vs 路径以及目录名

 

 

   (4)通过nodeid指定用例运行:同上

  参数详解:

  -s:表示输出调试信息,包括print打印的信息

  -v:显示更详细的消息

  -vs:这两个参数可以一起用

  -n:支持多线程或者分布式运行测试用例 p3

 

 

 

 

 

-n示例

 

 

 

 

3.通过读取pytest.ini配置文件运行

标签:01,框架,简介,单元测试,pytest,测试,自动化,测试用例
From: https://www.cnblogs.com/zyz3043795020/p/16886848.html

相关文章

  • 2022-2023-1 20201324《信息安全系统设计与实现(上)》第13章
    1网络编程简介TCP/IP协议、UDP和TCP协议、服务器-客户机计算、HTTP和Web页面、动态Web页面的PHP和CGI编程2TCP/IP协议IPv432位地址IPv6128位地址TCP/IP协议顶层......
  • LG_P4588 [TJOI2018] 数学计算 题解
    LuoguP4588题解这个玩意还是挺好想到的,也不难看出他是一个线段树。没想到可以评上蓝。考虑每次操作对于答案的贡献。由于\(x=1\),所以我们相当于是在维护一堆数的积,初始......
  • 101. 对称二叉树 ----- 二叉树、递归、迭代
    给你一个二叉树的根节点root,检查它是否轴对称。 示例1:  输入:root=[1,2,2,3,4,4,3]输出:true示例2:  输入:root=[1,2,2,null,3,null,3]输出:false 提......
  • Pytest接口测试框架实战项目搭建(四)—— 业务系统接口请求演示
    一、前言前面相当于已经讲完整体框架搭建了,本篇主要讲述在实际业务系统的接口请求中,如何运用好该接口自动化测试框架。二、步骤演示1、在conf/api_path.py新增需要......
  • [oeasy]python0014_二进制_binary_bin
    ​ 二进制(binary)回忆上次内容上次我们了解了​​ASCII​​码表​ASCII​​码表就是​​A​​merican​​S​​tandard​​C​​odefor​​I​​nformat......
  • luogu P4786 [BalkanOI2018]Election
    题面传送门离谱题,结论出奇的简单。首先我们考虑\(O(nq)\)怎么做。显然所有C都要放在最终序列中,然后问题就变成往里面填T。我们考虑第一个T填在能填的最开始的位置上,因......
  • 20201307梁辰鱼第十一周学习笔记
    第十三章TCP/IP和网络一、知识点总结1TCP/IP协议TCP/IP(TransmissionControlProtocol/InternetProtocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传......
  • 【Vue2-01】Vue脚手架
    Vue脚手架一、单文件组件1.单文件组件定义单文件组件:*.vue文件,类似HTML格式的文件。Vue的单文件组件会将一个组件的逻辑(JavaScript)、模板(HTML)和样式(CSS)封装在同......
  • [CEOI2016] kangaroo题解
    P5999[CEOI2016]kangaroo一类插入式的dp。对于这道题,我们得先做出一个转化,依次考虑每个数插到哪个位置,于是变成了求\(1\)~\(n\)的排列同时满足每个位置上的元素要么......
  • ciscn_2019_final_4
    ciscn_2019_final_4我就是菜......