大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
pytest+allure实战
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账号...