pytest+allure接口自动化
python类库依赖:
pip3 install pytest
pip3 install allure-pytest
pip3 install rerequests
pip3 install pytest-repeat
环境依赖
linux:
https://docs.qameta.io/allure/#_installing_a_commandline
jdk8环境
安装allure文件
npm install -g allure-commandline --save-dev
增加软连接
验证
allure --version
win:
安装jdk
下载allure2
https://github.com/allure-framework/allure2/releases
添加Bin目录到环境变量
import requests, os, sys, pytest,allure
@pytest.fixture
def test_garbfilter_preposition(self):
'''
广告词检测前置条件
:return:
'''
yield self.test_garbfilter_preposition # 清除测试数据-解除禁言
with requests.post(delforbidinfo_url(), headers=chat_header(), json={
"roleId": 'Advertising_data'
})as delfor:
assert_correct_method(delfor) @pytest.mark.skipif(Advertising_conditions(),
reason="请求参数:" + str(Advertising_data()[1]) + "\r\n发送广告禁言测试条件不满足跳过此用例,条件请求返回值:" + str(
Advertising_data()[0]) + "")
@allure.story('禁言后发言')
def test_garbfilter_true(self, test_garbfilter_preposition):
'''
:return:
{'code': 486, 'info': 'forbidden speak'}
'''
data={
"from": 'Advertising_data',
"to": "p:dc_ceshi",
"msgType": 1,
"body": "发送消息",
"ext": {
"key": "value"
},
"garbFilter": True,
"wordFilter": True,
"time": request_time()
}
with allure.step("请求参数:%s 请求地址%s" % (data, sendmsg_url())):
with requests.post(sendmsg_url(), headers=chat_header(), json=data) as send_s:
with allure.step("返回参数:%s" % send_s.json()):
assert_forbid_method(send_s)
运行指令 run.py
if __name__ == '__main__':
pytest.main(['-v', '-s',curPath+'/test_cases', '--alluredir', curPath+'/report/report', '--clean-alluredir'])
while 1:
try:
os.system('allure generate '+curPath+'/report/report -o '+curPath+'/report/allure-reports/ --clean')
break
except Exception:
print('等待生成静态文件...')
finally:
time.sleep(1)
pytest+allure接口自动化的更多相关文章
- Docker + Jenkins + Gitlab + Pytest + Allure 接口自动化测试之持续集成实战终极教程
实战教程篇 前言 这边就不教大家怎么用 pytest 写项目了哦,下面有系列文章能帮助你快速入门 Pytest + Allure 这一篇教程主要是教如何从 0 到 1 搭建自动化测试的持续集成环境 后 ...
- 接口自动化框架(Pytest+request+Allure)
前言: 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱. 接口自动化包含2个部分,功能性的接口自动化测试和并发接口自动化测试. 本次文章着重介绍第一种, ...
- 接口自动化框架2-升级版(Pytest+request+Allure)
前言: 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱. 第一版入口:接口自动化框架(Pytest+request+Allure) 本次版本做了一些升级 ...
- 基于Python+Requests+Pytest+YAML+Allure实现接口自动化
本项目实现接口自动化的技术选型:Python+Requests+Pytest+YAML+Allure ,主要是针对之前开发的一个接口项目来进行学习,通过 Python+Requests 来发送和处理H ...
- Python+Pytest+Allure+Git+Jenkins接口自动化框架
Python+Pytest+Allure+Git+Jenkins接口自动化框架 一.接口基础 接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系. ...
- Python接口自动化测试框架: pytest+allure+jsonpath+requests+excel实现的接口自动化测试框架(学习成果)
废话 最近在自己学习接口自动化测试,这里也算是完成一个小的成果,欢迎大家交流指出不合适的地方,源码在文末 问题 整体代码结构优化未实现,导致最终测试时间变长,其他工具单接口测试只需要39ms,该框架中 ...
- Python&Selenium&pytest借助allure生成自动化测试报告
一.摘要 本篇博文将介绍Python和Selenium进行自动化测试时,如何借助allure生成自动化测试报告 二.环境配置 首先python环境中安装pytest和pytest_allure_ada ...
- Pytest学习(六) - conftest.py结合接口自动化的举例使用
一.conftest.py作用 可以理解成存放fixture的配置文件 二.conftest.py配置fixture注意事项 pytest会默认读取conftest.py里面的所有fixture co ...
- Pytest(18)pytest接口自动化完整框架思维导图
pytest接口自动化完整框架思维导图
- python+pytest接口自动化(11)-测试函数、测试类/测试方法的封装
前言 在python+pytest 接口自动化系列中,我们之前的文章基本都没有将代码进行封装,但实际编写自动化测试脚本中,我们都需要将测试代码进行封装,才能被测试框架识别执行. 例如单个接口的请求代码 ...
随机推荐
- post方法易错地方
<body> <h1>登录</h1> <input type="text" placeholder="请输入用户名" ...
- Array.from的9大优美用途!!!看了不后悔哦~~~~
纯手工打印调试~~~~ 九种用途~~~超赞的哦~~~~~ <!DOCTYPE html> <html lang="en"> <head> < ...
- Python语法与基本数据类型
Python语法与基本数据类型 一.Python语法之注释 1.注释 注释就是对一段代码的解释说明 2.注释的写法 1.单行注释:解释说明的文字前面加#号, pycharm中有快捷键 ctrl+? 2 ...
- docker配置阿里云加速
登录阿里云找到镜像加速 搜索容器镜像服务,进入管理控制台 找到镜像加速器,根据下面配置好即可 centos7.7x64例子 sudo mkdir -p /etc/docker sudo tee /et ...
- 【随笔记】ATECC608 加密芯片调试记录
芯片通信测试 根据芯片手册,ATECC608B 的 7bit 器件地址是:0x35 root@linux:/usr/bin# i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a ...
- k210 cpu、asm、rust、smpboot、ipi
介绍 k210的datasheet主要讲了与外设相关的内容,k210并不支持最新的完整的riscv指令集,而是实现了一部分.本文想要通过汇编来一点点摸索k210的寄存器,布局,mmu,缓存等结构 相关 ...
- Quartz与Topshelf结合实现window定时服务
一,新建控制台应用程序 二,选中项目,右键 - 管理 NuGet 程序包,添加四个: Quartz Quartz.Plugins Topshelf log4net 三,创建项目文件 三个配置文件:必须 ...
- 接入jira OAuth权限流程
如果要在自己的系统中操作jira的api完成这些单据的创建.审批等操作,就不得不要先完成jira的第三方授权,才能在第三方系统去做这些jira的操作. 首先必须在jira系统配置客户端的相关信息,须配 ...
- uboot启动过程 1
打开 u-boot.lds OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-li ...
- forEach、for in 、 for of三者的区别
1.for 原始的遍历: 其实除了这三种方法以外还有一种最原始的遍历,自Javascript诞生起就一直用的 就是for循环,它用来遍历数组 var arr = [1,2,3,4] for(var i ...