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 接口自动化系列中,我们之前的文章基本都没有将代码进行封装,但实际编写自动化测试脚本中,我们都需要将测试代码进行封装,才能被测试框架识别执行. 例如单个接口的请求代码 ...
随机推荐
- 超简单的图文并茂Linux上使用yum安装Mysql(Aliyun Linux release 2.1903 LTS)
首先登录进入你的Linux服务器 查看是否已安装mysql rpm -qa|grep mysql 查看自己的服务器版本 cat /etc/redhat-release 打开MySQL Yum存储库下载 ...
- 关于v-deep有你想知道的一切
1.首先要知道v-deep的使用场合. 在此之前先了解一下scoped属性,scoped 属性是一个布尔属性.如果使用该属性,则样式仅仅应用到 style 元素的父元素及其子元素. 在vue中引入了s ...
- 记一次线上FGC问题排查
引言 本文记录一次线上 GC 问题的排查过程与思路,希望对各位读者有所帮助.过程中也走了一些弯路,现在有时间沉淀下来思考并总结出来分享给大家,希望对大家今后排查线上 GC 问题有帮助. 背景 服务新功 ...
- idea正则替换
将非 (股权)的替换成 股权
- python开发云主机类型管理脚本
python开发云主机类型管理脚本 开发flavor_manager.py程序,来完成云主机类型管理的相关操作. 该文件拥有以下功能: 根据命令行参数,创建一个云主机类型,返回response. 查询 ...
- 用户行为分析模型实践(三)——H5通用分析模型
作者:vivo 互联网大数据团队- Zhao Wei.Tian Fengbiao.Li Xiong 本文从提升用户行为分析效率角度出发,详细介绍了H5埋点方案规划,埋点数据采集流程,提供可借鉴的用户行 ...
- JSP第四次作业
1. 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&q ...
- magic-api数据库存储方案
建表语句 drop table if exists magic_api_file; CREATE TABLE `magic_api_file` ( `id` int(11) NOT NULL AUTO ...
- npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
出现问题原因: vscode运行前端命令,没有为安装的npm配置环境变量 解决办法: 配置环境变量,可查看前一篇文章nodejs 环境变量配置 配置完后还出如题原因: 重新启动vscode终端powe ...
- ubuntu18.08安装eigen
http://eigen.tuxfamily.org/index.php?title=Special%3AAllPages&from=&to=&namespace=100 除非 ...