pytest+allure实战

  • pytest+allure实战
    • 基本架构
    • Login.py
    • test.py
    • run_all_case.py
    • 测试报告

pytest+allure实战

写之前,说一下自己的感受,大家之前调试出来的框架什么的一定要做好记录,或者归纳整理好,pytest+allure很久之前就用过了,但是当时出报告以后就扔一边了,当我想整理写一篇关于这个的时候完全找不到在哪,但是脑子里还记的这个框架之前100%用过,就是不知道放哪里了,重新调试也不想调,就一直翻电脑,越翻越燥,大半天也没找见,其实就在我眼皮底下,只不过当时给文件夹起名也过于随意,啥也没干光找这个框架找的我好累

基本架构

Login.py

import requests
import jsondef get_login():url = "http:"data = {"username" :"","password" :"123456789"}headers = {"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"}res = requests.post(url=url,data=data,headers=headers)return (res.json()["data"]["token"])token  = str(get_login())
#print(token,"确认token成功返回")
print(token)#从响应结果中获取token值

test.py

import sys
import os
from common.Logs import Log
from common.Yaml_Data import HandleYaml
from common.Login import get_login
import allure
from common import Assert
from common import Consts
import requestshandleyaml = HandleYaml()
from common.Retrun_Response import dict_style
yamldict = handleyaml.get_data()file = os.path.basename(sys.argv[0])
log = Log(file)
logger = log.Logger@allure.description("系统登录接口测试:正向测试:用户名密码均正确")
@allure.link("http://",name="登录页面")
def test_01_正向登录():def_name = sys._getframe().f_code.co_namelogger.info("开始执行脚本%s:\n",def_name)url = 'http://'header = {"Accept": "application/json, text/plain, */*","Accept - Encoding": "gzip, deflate","Content-Type": "application/x-www-form-urlencoded;charset=UTF-8","Cookie":get_login()}data = {"username":"","password": 123456789,}r = requests.post(url=url,headers=header,data=data)print(r.status_code)print(r.text)Consts.RESULT_LIST.append('pass')

run_all_case.py

#!/usr/bin/python
# -*- coding: UTF-8 _*_import time
import os
import sys
from common.Logs import Log
import pytest
from common import Shell
import allure
from common.emails import mailif __name__ == "__main__":file = os.path.basename(sys.argv[0])log = Log(file)logger = log.Logger# 运行单个文件 pytest.main(['../test_case/test_login.py']) 运行多个文件 pytest.main(['../test_case/test_login_getVar.py',# '../test_case/test_login.py']) 运行整个目录 pytest.main(['../test_case', '--html=../report/report.html'])# logger.info("开始执行脚本") >pytest E:\project\Xiaoniu_Api_Rili\Run\run_all_case.py# --alluredir=E:\\project\\Xiaoniu_Api_Rili\\allure-results\\ allure generate report -o report\\allure-reports\\try:print("开始执行脚本")logger.info("==================================" + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) + "===================================")pytest.main(['C:\\Users\\Kst\\PycharmProjects\\ALLURE\\test_case', "--alluredir", "./report/reportallure/"])# pytest.main(['E:\\project\\Xiaoniu_Api_Rili\\test_case', '--alluredir',# 'E:\\project\\Xiaoniu_Api_Rili\\report\\reportallure'])# logger.info("脚本执行完成")print("脚本执行完成")except Exception as e:logger.error("脚本批量执行失败!", e)print("脚本批量执行失败!", e)try:shell = Shell.Shell()cmd = 'allure generate %s -o %s --clean' % ('./report/reportallure/', './report//reporthtml/')# logger.info("开始执行报告生成")print("开始执行报告生成")shell.invoke(cmd)# logger.info("报告生成完毕")print("报告生成完毕")except Exception as e:print("报告生成失败,请重新执行", e)# logger.error("报告生成失败,请重新执行", e)# log.error('执行用例失败,请检查环境配置')raisetime.sleep(5)mail()

测试报告


pytest+allure实战相关推荐

  1. 2022超级好用的接口自动化测试框架:基于python+requests+pytest+allure实现

    众所周知,目前市面上大部分的企业实施接口自动化最常用的有两种方式: 1.基于工具类的接口自动化,如: Postman+Newman+Jenkins+Git/svn Jmeter+Ant+Jenkins ...

  2. 接口自动化测试框架搭建:基于python+requests+pytest+allure实现

    目录 一.接口自动化测试框架需要具备什么功能? 二.接口自动化测试框架目录结构 三.日志监控文件的信息 四.搭建具有企业Logo的定制化报告. 众所周知,目前市面上大部分的企业实施接口自动化最常用的有 ...

  3. 【Selenium+Pytest+allure报告生成自动化测试框架】附带项目源码和项目部署文档

    目录 前言 [文章末尾给大家留下了大量的福利] 测试框架简介 首先管理时间 添加配置文件 conf.py config.ini 读取配置文件 记录操作日志 简单理解POM模型 简单学习元素定位 管理页 ...

  4. python pytest和allure环境_【转载】Python—Pytest+Allure定制报告

    Allure Test Report 一款测试报告框架,不仅报告美观,而且方便CI集成. 一.环境配置 安装Python依赖库: pip3 install pytest pip3 install py ...

  5. pytest allure测试报告_Appium+pytest+allure+jenkins如何实现多台手机连接

    很多人可能想到的是多线程(threading). 今天分享一种比多线程更简单的方法,虽然不是多台手机同时运行,但可以连接多台手机依次运行. 大致的运行方式是:001号测试用例:A手机,B手机...,0 ...

  6. pytest+allure测试框架搭建

    https://blog.csdn.net/wust_lh/article/details/86685912 https://www.jianshu.com/p/9673b2aeb0d3 定制化展示数 ...

  7. pytest allure测试报告_用Pytest+Allure生成漂亮的HTML图形化测试报告

    对于软件测试工作来说,测试报告是非常重要的工作产出.一个漂亮.清晰.格式规范.内容完整的测试报告,既能最大化我们的测试工作产出,又能够减少开发人员和测试人员的沟通成本. 本篇文章将介绍如何使用开源的测 ...

  8. 生成html_用 Pytest+Allure 生成漂亮的 HTML 图形化测试报告

    对于软件测试来说,测试报告是非常重要的工作产出.一个漂亮.清晰.格式规范的测试报告,能够减少开发人员和测试人员的沟通成本. 本篇文章将介绍如何使用开源的测试报告生成框架 Allure 生成规范.格式统 ...

  9. Appium+Pytest+Allure集成PO项目管理模式实现自动化测试

    Appium+Pytest+Allure集成PO项目管理模式实现自动化测试 环境配置 Appium环境配置 Pytest环境配置 Allure环境配置 使用与集成 Appium使用 Pytest使用 ...

最新文章

  1. 松江主机点位怎么预留_智能家居设计篇:智能化布线怎么做到有备无患
  2. 第四十章:基于SpringBoot Quartz完成定时任务分布式多节点负载持久化
  3. php赋值权重_php权重计算方法代码分享
  4. 生物反应器:生物过程工程的动物细胞培养控制 Bioreactors : animal cell culture control for bioprocess engineering 英文原版
  5. 使用UIImageView实现图像拖动、缩放等
  6. Python文件操作中的a,a+,w,w+,rb+,rw+,ra+几种方式的区别
  7. 用闭包实现重载的过程学习闭包
  8. 快速编辑里指定默认值
  9. C++中STL-queue使用方法
  10. css对于文字过长加省略号
  11. TensorFlow 下 mnist 数据集的操作及可视化
  12. BeanNotOfRequiredTypeException,Bean named ‘xx‘ is excepted to be of type ‘xx‘ but was ‘$Proxy30 ‘
  13. 我的博客生涯开始……
  14. 封装方法-数字转大写(一)——将数字金额转换为大写金额
  15. OSS对象存储命令管理、数据迁移
  16. 【Hexo搭建个人博客】:yilia主题配置(四) - 分类管理
  17. unity3d技术摄像头跟随_unity 3d 中摄像头跟随人物移动总结
  18. 阿里大数据之路 总述
  19. 共享单车背后还隐藏着多少惊天秘密?
  20. 基站三角定位法 java_什么是三角定位法?

热门文章

  1. 住宅防雷接地的选择要求和施工方法
  2. java安装教程及环境配置
  3. Qt之模仿网易云音乐 广告Banner
  4. android spinner 简书,Spinner添加数据
  5. Python 三引号 用法 功能
  6. C#开发之——Directoryinfo(10.2)
  7. mysql undo_mysql undo 和redo 被误删除的恢复操作(一致性)
  8. 瑜伽机构如何线上、线下相结合,实现内容变现?
  9. Android开发--Zxing库实现二维码/条形码扫描识别
  10. 苹果4如何添加时间插件_苹果手机:插件Snoverlay:给越狱iPhone添加雪花特效