首页 > 其他分享 >【day1】pytest

【day1】pytest

时间:2023-03-27 20:40:59浏览次数:34  
标签:vs pytest day1 testcase 测试用例 test 运行

一、pytest单元测试框架

  0

二、单元测试框架与自动化测试框架

1.什么是自动化测试框架

单元测试框架、pom设计模式、数据驱动、关键字驱动、全局配置文件的封装、日志监控等只是自动化测试框架的组成部分之一。 0

2.pytest简介

  • pytest是一个非常成熟的python单元框架,灵活,容易上手。
  • pytest可以和selenium,requests,appium结合实现web自动化、接口自动化
  • pytestk可以实现测试用例的跳过以及reruns失败测试用例的重试。
  • 可以和allure生成非常美观的测试报告
  • 可以和Jenkins持续集成
  • 有很多非常强大的插件,能够实现很多实用的操作。例如:
pytest-html(生成html格式的自动化测试报告) pytest-xdist 测试用例分布式执行,多cpu分发 pytest-ordering 用于改变测试用例的执行顺序 pytest-rerunfailures 用例失败后重重跑 allure-pytest 用于生成美观的测试报告   0 放到requirements.txt中,通过pip install -r requirements.txt 默认的测试用例的规则
  1. 模块名必须以test_开头或者_test结尾。
  2. 测试类必须以Test开头,并且不能有init方法。
  3. 测试方法必须以test开头。

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

1.主函数模式:

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

2.命令行模式:

  • 运行所有:pytest
  • 运行指定模块:pytest -vs test_login.py
  • 运行指定目录;pytest -vs ./interface_testcase
  • 指定目录:pytest -vtest_04_funcs ./interface_testcase/test_interface.py::test_04_func

2.1参数详解

-s:表示输出调试信息,包括输出调试打印信息 -v:表示详细的方式,类名 测试名 -vs:这两个参数可以合并 -n:支持多线程或者分布式运行测试用例 如:pytest -vs ./testcase/test_login.py -n 2 --reruns NUM:失败用例重跑 -x:表示只要一个用例报错,那么测试停止 --maxfail=2 允许的最大失败次数 -k:根据测试用例的部分字符串指定测试用例 如:pytest -vs ./testcase -k "ao" 0    

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

pytest.ini是pytest单元测试框架的核心配置文件。 文件位置一般放在项目的根目录,编码必须是ANSI,作用可以改变pytest的默认行为。运行的规则不管是主函数模式运行,命令行模式运行,都会去读取这个默认配置文件。 0 [pytest] addopts= -vs #命令行的参数,用空格分开 testpaths = ./testcase #测试用例的路径 python_files = test_*py #模块名的规则 python_classes = Test* #类名的规则 python_functions = test #方法名的规则

四、pytest执行测试用例的顺序是怎样的呢?

默认从上到下。还可以通过标记方式改变默认执行顺序,试用mark标记@pytest.mark.run(order=) 0      

标签:vs,pytest,day1,testcase,测试用例,test,运行
From: https://www.cnblogs.com/qijiajun/p/17262743.html

相关文章

  • pytest--xdist分布式运行
    前言当测试用例数量上去以后,执行一遍所有测试用例,那么执行速度就会比较慢,除了多线程来提高效率外,pytest也提供pytest-xdist插件来做分布式执行,从而减少测试时间,它属于进程......
  • 代码随想录Day13-Leetcode239. 滑动窗口最大值,347.前 K 个高频元素,栈和队列总结
    239.滑动窗口最大值一开始没有思路,暴力了,然后果然超时;看提示中的单调队列没有特别明白;后面反应过来跟单调栈很像;也确实很符合本题的情况,一旦队尾出现更大的数,前......
  • javaSE学习Day1之包装类的使用
    包装类的使用包装类的使用java提供8种基本数据类型对应的包装类,使得基本数据类型变量具有类的特征掌握:基本数据类型、包装类、String三者之间的互相转换自动装箱与......
  • javaSE学习Day1之Object类的使用
    Object类的使用Object类Object类中的方法可以在网上搜索得到Object类是所有java类的父类如果类在声明中未使用extends关键字指明其父类,则默认父类为java.lang.Obje......
  • javaSE学习Day1之多态及向下转型
    向下转型的使用Java的多态性:父类指向子类的声明Animalanimal=newDog()//Dog()重写了父类Animal有了对象的多态性以后,内存实际上加载的是子类的属性和方法,但是由......
  • day13-SpringBoot整合MyBatis/Plus
    SpringBoot整合MyBatis/Plus1.SpringBoot整合MyBatis1.1整合案例需求:整合SpringBoot和Mybatis,向数据库中查询数据。项目结构:1.1.1创建数据库和表--创建数据库DROP......
  • day12-SpringBoot数据库操作
    SpringBoot数据库操作1.JDBC+HikariDataSource在SpringBoot2.x项目中,默认使用Hikari连接池管理数据源。相比于传统的C3P0、DBCP、Tomcatjdbc等连接池更加优秀。当......
  • day11-SpringBoot中注入Servlet&Filter&Listener
    SpringBoot中注入Servlet&Filter&Listener1.基本介绍文档:SpringBoot中注入Servlet&Filter&Listener考虑到实际开发业务非常复杂和兼容问题,SpringBoot支持将Servlet、......
  • 【ACM算法竞赛日常训练】DAY1题解与分析
    DAY1共四题:月月查华华的手机:https://ac.nowcoder.com/acm/problem/23053RinneLovesEdges:https://ac.nowcoder.com/acm/problem/22598逆序对:https://ac.nowcoder.com......
  • 《渗透测试》WEB攻防-ASP安全&MDB下载植入&IIS短文件名&写权限&解析 2022 Day18
    1  ➢ ASP-数据库-MDB默认下载➢ ASP-数据库-ASP后门植入连接➢ ASP-中间件-IIS短文件名探针-安全漏洞➢ ASP-中间件-IIS文件上传解析-安全漏洞➢ ASP-中......