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. 安全工具推荐之sqlmap tamper&sqlmap api

    我发现总有一些人喜欢问sqlmap的tamper脚本,问完工具问参数,问完参数问脚本...... 你这个问题问的水平就很艺术,让我一时不知从何说起...... 说一下在sqlmap的使用过程中,个人了 ...

  2. javaWeb之Maven

    为什么要学这个技术? 在JavaWeb开发中,需要使用大量的jar包 如何能够让一个工具自动帮我们导入和配置这个jar包 一.Maven项目架构管理工具 核心思想:约定大于配置 有约束,不要去违反 M ...

  3. NOIP 模拟 $20\; \rm 玩具$

    题解 \(by\;zj\varphi\) 一道概率与期望好题 对于一棵树,去掉根后所有子树就是一个森林,同理,一个森林加一个根就是一棵树 设 \(f_{i,j}\) 为有 \(i\) 个点的树,高度为 ...

  4. 题解 Strange Housing

    传送门 首先想了黑白染色,发现不会染 其实可以考虑如何动态地维护出这个点集 发现题面里对不在点集之中的点之间的连边没有要求 所以考虑不断向图中加点,为了满足要求,每次取一个与当前新图中相连的点 若它与 ...

  5. 05.SpringMVC之请求映射

    @RequestMapping是一个用来处理请求地址映射的注解,可用于类或者方法上.用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径. @RequestMapping注解有六个属性,下面进 ...

  6. Linux命令:ps -ef |grep java

    一.ps -ef |grep java 查看包含"java"的所有进程 二.涉及命令详解 ps命令将某个进程显示出来(是LINUX下最常用的也是非常强大的进程查看命令) grep命 ...

  7. myScript调研,电子手写板使用,纯干货

    第二天进公司,就叫我调研myScript作为手写板的可行性,又不能不做,哎~ myScript效果十分的奈斯,前端用canvas手写的文字.数学字符,都可以识别然后转换,不知道myScript是不是你 ...

  8. rabbitMq队列长度限制

    x-max-length:队列最大容纳消息条数 大于设置条数的时候会把,消息队列头部(先进入消息)的消息移除 x-max-length-bytes:队列最大容量消息内存容量服务端限流内存控制流量:40 ...

  9. linux-解决/usr/bin/which: no ssh-copy-id in 和ssh: Could not resolve hostname问题

    使用yum install openssh-clients  安装命令 有的系统没有此命令 有的系统缺省 就包含这一条命令! 但是我的测试机没有发现此命令 只能这样安装! 这时有报错了 1 2 [ro ...

  10. kubeadm方式搭建K8S集群

    一.kubeadm介绍 二.安装要求 三.集群规划 四.环境初始化(在每个服务器节点操作) 1.关闭防火墙 2.关闭selinux 3.关闭swap 4.根据规划设置主机名 5.在Master添加ho ...