requests接口自动化-pytest框架
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动态关联,定义为全局变量
把需要调用的值定义为全局变量,后面接口进行应用
- python的全局变量和局部变量:https://blog.csdn.net/zhaogeno1/article/details/80298702
- python全局变量的定义:https://www.cnblogs.com/weilaibuxiangshuo/p/11115973.html
第一:如定义在类或者函数体外,在函数或者类中引用需要用到 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框架的更多相关文章
- Pytest(18)pytest接口自动化完整框架思维导图
pytest接口自动化完整框架思维导图
- python+requests接口自动化框架
为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程 ...
- requests接口自动化9-共享session和传递cookie
前言: session:用requests.session()创建会话,可以将会话信息传递给其他接口 cookie:用RequestsCookieJar或者cookie字典传递cookie信息 fil ...
- 自从学会了Python自动化Pytest框架,领导再也不敢在我背后指手划脚了
前言 大家都知道Python有自带的单元测试框架unittest,那为什么还要学习Pytest呢?先了解下Pytest优点 pytest: pytest是一个非常成熟的全功能的Python测试框架,是 ...
- python+requests接口自动化完整项目设计源码
前言 有很多小伙伴吵着要完整的项目源码,完整的项目属于公司内部的代码,这个是没法分享的,违反职业道德了,就算别人分享了,也只适用于本公司内部的业务. 所以用例的代码还是得自己去一个个写,我只能分享项目 ...
- python+requests接口自动化完整项目设计源码(一)
原文地址https://www.cnblogs.com/yoyoketang/tag/python接口自动化/ 原文地址https://www.cnblogs.com/yoyoketang/ 原文地址 ...
- Python+requests接口自动化完整项目框架整理笔记
前言 通过学习"上海悠悠"博客,自己手动敲了一遍整体的自动化项目搭建,编写用例,打印log日志,生成测试报告,将报告发送至邮箱整体流程跑了一遍,勉强跑通了 一,项目结构 --cas ...
- requests接口自动化2-url里不带参数的get请求
最常用的是get,post请求,然后是put,delete,其他方法很少用 1. get请求几种方式 1.1.url里不带参数的get请求 接口请求fiddler返回内容: import reques ...
- python+requests接口自动化完整项目设计源码【转载】
本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/python%E6%8E%A5%E5%8F%A3%E8%87%AA%E5%8A%A8%E ...
随机推荐
- 题解 P4449 于神之怒加强版
这道题算是我完完整整推的第一道题,写篇题解纪念一下. 题目 废话不多说,直接开始推式子(给新手准备,过程较详细,大佬可自行跳步),以下过程中均假设 \((n\le m)\),\([d=1]\) 类似于 ...
- 项目报错:Invalid bound statement (not found):
出现这种错误有好多种情况,常见的错误有以下这些: 1.检查xml文件所在package名称是否和Mapper interface所在的包名 <mapper namespace="com ...
- vsftpd - FTP 服务器安装
由于要将本地程序上传至云服务器中,所以需要给云服务器端安装ftp服务器.记录一下ftp的安装过程,以便以后使用.服务器端所用系统为Ubuntu16.04. 1. 安装ftp服务器, apt-get i ...
- Java HdAcm1069
import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main { Lis ...
- 高德渲染网关Go语言重构实践
1.导读 高德启动Go业务建设已经有段时间了,主要包含Go应用落地,Go中间件建设,云原生三个部分.经过持续的发力,在这些方面取得了不错的进展.高德Go业务落地过程是如何实现的,遇到过哪些问题,如何 ...
- Spring 事务回滚机制详解
1:事务原理 1.2:aop/动态代理 类路径:org/springframework/aop/framework/CglibAopProxy.java ReflectiveMethodInvocat ...
- configparser生成模块写
# -*-coding:utf-8-*-__author__ = "logan.xu"#写配置文件import configparserconfig = configparser. ...
- lsyncd替代inotify+rsync实现实时同步
因公司业务需要需要实时同步日志文件,刚一开始使用的是inotify+rsync来实现实时同步,但时间久而久之发现同步的速度越来越慢,往往延迟好几个小时.查了一下网上的inotify+rsync方案基本 ...
- 微信小程序 image 组件 src 请求不能设置 header 的问题
只能先 wx.downloadFile 得到 tempFilePath,然后设置 src = tempFilePath
- 二、安装部署指定的docker版本
1.部署指定的docker版本 1.移除源有版本的docker [root@localhost ~]# yum remove docker docker-common docker-selinux d ...