pytest+allure实战

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

pytest+allure实战

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

基本架构

在这里插入图片描述

Login.py

import requests
import json

def 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 requests

handleyaml = 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_name
    logger.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 mail


if __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('执行用例失败,请检查环境配置')
        raise

    time.sleep(5)
    mail()

测试报告

在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/164424.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 计算机中为什么会用补码运算符号_负数求补码

    计算机中为什么会用补码运算符号_负数求补码总所周知,计算机内部的所有数都是以二进制的形式存在的。而二进制在计算机里又有多种编码方式——原码、反码、补码等。而在这些编码方式里面用得最多的不是最简单、最直接的原码而是补码。这是为什么呢?想搞懂这个问题首先得明白什么是原码、反码以及补码,如果你对他们还不太了解,那就先看看我另一篇博客——原码、反码、补码其实很简单。如果你对他们已经很熟悉,那么我们继续往下看。A、B、C三种相似的东西,

  • linux怎样用jps命令_hadoopjps只有五个

    linux怎样用jps命令_hadoopjps只有五个前言:在网上有好多说是以root身份vi/etc/profile,然后在下面加一行exportPATH="usr/java/jdk160_05/bin:$PATH"(其中jdk160_05是你的安装目录,依你自己的安装情况所决定),然后source/etc/profile即可解决我觉得这是当你自己安装jdk后jps命令不好使时可以这样解决,但是经过我试验你自己安装jdk成功后(如:在解压jd…

  • gamma correction什么意思_伽马校正计算方法

    gamma correction什么意思_伽马校正计算方法伽马是数字成像系统的一个重要特征,它定义了像素值与其实际亮度之间的关系。在标准显示器上面,如果没有伽马,数码相机拍摄到的阴影内容便会跟我们实际看到的有所差异。平时我们所说的伽马校正、伽马编码、伽马压缩,都是伽马曲线的各种应用场景,属于相似的概念。对于伽马工作原理的理解,一方面可以提高摄影者的曝光技术,另一方面可以帮助人们更好地利用后期的图像编辑功能。

  • Unity安装VScode「建议收藏」

    Unity安装VScode「建议收藏」https://code.visualstudio.com/下载好之后,打开unity edit-  preferenceexternaltools openbyfileextension,点开,Browse,然后选你VSCode.exe的位置。  之后双击打开会有我这个是安装好扩展的界面,大概就是要 左边这个几个安装好之后可能打出不来提示,重…

  • linux系统添加静态路由命令_静态路由和默认路由小结

    linux系统添加静态路由命令_静态路由和默认路由小结linux下静态路由修改命令方法一:添加路由routeadd-net192.168.0.0/24gw192.168.0.1routeadd-host192.168.1.1dev192.168.0.1删除路由routedel-net192.168.0.0/24gw192.168.0.1add增加路由del删除路由-net设置到某个网段的路由-host设置到某台主…

  • flash ftp 注册码

    flash ftp 注册码好像不同版本都可以通用的,我3.3.5用在3.3.6也可以——–FlashFXPRegistrationDataSTART——–FLASHFXPzgDCZDFezgAAAADFW5etNQTnsl73n0FoZCZ4GRDMVEIAF1T

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号