pytest框架规则

  • 测试文件以test_开头或者以_test结尾
  • 测试类以Test开头,并且不能带有init方法
  • 测试函数以test_开头
  • 断言使用assert

pytest框架运行用例

运行单个文件

运行多个文件

运行整个目录

import pytest

if __name__=="__main__":
# 运行单个文件,添加对应文件的路径,使用相对路径
pytest.main(['../test_requests/test_assert.py']) # ../ run_case目录与test_requests属于同于层级,先回到上层目录,在进入test_requests
# 运行多个文件,添加对应文件的路径,使用列表形式
pytest.main(['../test_requests/test_assert.py','../test_requests/test_assert1.py'])
# 运行整个目录
pytest.main('../test_requests')

pytest动态关联,定义为全局变量

把需要调用的值定义为全局变量,后面接口进行应用

第一:如定义在类或者函数体外,在函数或者类中引用需要用到 global声明

temp_t = "ceshi"

def  tmp1():

    global temp_t

    temp_t =1

print temp_t 

结果:1
第二:直接在函数或类中定义,需要先执行函数或者类,才能执行输出

def a():
global cc
cc = "bb" def b():
global cc
cc = "kk"
a()
b()
print(cc)结果:kk

pytest生成报告

生成html报告 '--html=../report/report.html'

  • pytest-html安装



  • 生成报告





    执行以下代码:
import pytest

if __name__=="__main__":
# 生成hmtl报告,后面为路径和报告文件名称,'--html=../report/report.html'
pytest.main(['../test_case/','--html=../report/report.html'])

生成xml报告 '--junitxml=../report/report.xml'





生成allure报告 '--alluredir','../report/reportallure/'

首先安装pytest-allure

再下载allure工具包

1.下载安装包

2.解压安装包



3.配置环境变量

把bin路径配置到环境变量

4.生成报告,运行用例加上:'--alluredir','../report/reportallure/'

5.进入报告目录

6.运行生成报告命令

(venv) D:\Test\python\hogwarts_TD>cd report

(venv) D:\Test\python\hogwarts_TD\report>allure generate ./reportallure/ -o ./reporthtml/ --clean
Report successfully generated to .\reporthtml





requests接口自动化-pytest框架的更多相关文章

  1. Pytest(18)pytest接口自动化完整框架思维导图

    pytest接口自动化完整框架思维导图

  2. python+requests接口自动化框架

    为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程 ...

  3. requests接口自动化9-共享session和传递cookie

    前言: session:用requests.session()创建会话,可以将会话信息传递给其他接口 cookie:用RequestsCookieJar或者cookie字典传递cookie信息 fil ...

  4. 自从学会了Python自动化Pytest框架,领导再也不敢在我背后指手划脚了

    前言 大家都知道Python有自带的单元测试框架unittest,那为什么还要学习Pytest呢?先了解下Pytest优点 pytest: pytest是一个非常成熟的全功能的Python测试框架,是 ...

  5. python+requests接口自动化完整项目设计源码

    前言 有很多小伙伴吵着要完整的项目源码,完整的项目属于公司内部的代码,这个是没法分享的,违反职业道德了,就算别人分享了,也只适用于本公司内部的业务. 所以用例的代码还是得自己去一个个写,我只能分享项目 ...

  6. python+requests接口自动化完整项目设计源码(一)

    原文地址https://www.cnblogs.com/yoyoketang/tag/python接口自动化/ 原文地址https://www.cnblogs.com/yoyoketang/ 原文地址 ...

  7. Python+requests接口自动化完整项目框架整理笔记

    前言 通过学习"上海悠悠"博客,自己手动敲了一遍整体的自动化项目搭建,编写用例,打印log日志,生成测试报告,将报告发送至邮箱整体流程跑了一遍,勉强跑通了 一,项目结构 --cas ...

  8. requests接口自动化2-url里不带参数的get请求

    最常用的是get,post请求,然后是put,delete,其他方法很少用 1. get请求几种方式 1.1.url里不带参数的get请求 接口请求fiddler返回内容: import reques ...

  9. python+requests接口自动化完整项目设计源码【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/python%E6%8E%A5%E5%8F%A3%E8%87%AA%E5%8A%A8%E ...

随机推荐

  1. DVWA-全等级文件上传

    DVWA简介 DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法 ...

  2. 30 个极大提高开发效率超级实用的 VSCode 插件

    Visual Studio Code 的插件对于在提升编程效率和加快工作速度非常重要.这里有 30 个最受欢迎的 VSCode 插件,它们将使你成为更高效的搬砖摸鱼大师.这些插件主要适用于前端开发人员 ...

  3. WPF三维立体效果3D

    并不是真的3D,类似游戏的2.5D. 先上效果图. 变形一下也可以 起先我是想,把这种绘图啊啥的,都做成控件,给别人直接用就行了.但是做的过程中发现. 要做简单易用的控件,实在是花时间.  而且花的时 ...

  4. mzy对于枚举的理解

    关于enum,其实就是简化了的class,功能就是提供一个个独立的.特定含义的常量! 在JDK5.0之前我们想模拟enum的功能,只能使用自定义类的形式: 1.首先私有化构造方法,让外部不能new对象 ...

  5. JDBC中的元数据

    在我编写JDBC代码的时候:出现很多的重复的代码,有没有什么办法让我们能够编写出更加通用的JDBC代码呢?使用元数据,元数据能够让我们编写出更加通用的JDBC代码.什么是元数据呢?(三种元数据)1)连 ...

  6. 刷题-力扣-1738. 找出第 K 大的异或坐标值

    1738. 找出第 K 大的异或坐标值 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/find-kth-largest-xor-co ...

  7. Linkerd 2.10(Step by Step)—配置代理并发

    Linkerd 2.10 系列 快速上手 Linkerd v2 Service Mesh(服务网格) 腾讯云 K8S 集群实战 Service Mesh-Linkerd2 & Traefik2 ...

  8. VMware workstation16 中Centos7下MySQL8.0安装过程+Navicat远程连接

    1.MySQL yum源安装 2.安装后,首次登录mysql以及密码配置3.远程登录问题(Navicat15为例) 一.CentOS7+MySQL8.0,yum源安装1.安装mysql前应卸载原有my ...

  9. SpringMVC笔记(1)

    一.SpringMVC简介 1.1 MVC模型 MVC模型 MVC全名是Model View Controller,是模型(model)- 视图(view)- 控制器(controller)的缩写,是 ...

  10. 基于Appium,封装自己的常用方法

    Appium算是老牌移动端App自动化测试工具了,在使用它的过程中,使用者经常会根据个人习惯,把较常用的方法封装在一起,方便调用.以下是我的封装,希望对你有启发. from typing import ...