Pytest——》pytest+allure

1、层级结构

  

用例层:case——》test_login.py

# 方法一:通过函数实现
import pytest


def testlogin():
    print('通过函数实现用例')

def testlogin1():
    print("通过函数写用例:testlogin1")

def testlogin2():
    print("通过函数写用例:testlogin2")

#模块执行前
def setup_module():
    print('\n模块执行前,执行这个函数:setup_module()')

#模块执行后
def teardown_module():
    print('\n模块执行后,执行这个函数:teardown_module()')

#函数执行前,对类里面的函数无效
def setup_function():
    print('\n函数执行前,执行这个函数:setup_function()')

#函数执行后,对类里面的函数无效
def teardown_function():
    print('\n函数执行后,执行这个函数:teardown_function()')




# 方法二:通过类实现
class TestLogin(object):
    @classmethod
    def testlogin3(cls):
        print('用类方法写用例')

    # @staticmethod
    def testlogin4(self):
        print('用实例方法写用例')

    def testlogin5(self):
        print('用实例方法写用例')

    # 类里面所有用例执行前执行一次
    def setup_class(self):
        print('\n类里面用例执行前执行一次这个函数:setup_class()')

    # 类里面所有用例执行后执行一次
    def teardown_class(self):
        print('\n类里面用例执行后执行一次这个函数:teardown_class()')

    #类中每个用例前执行
    def setup_method(self):
        print("\n执行用例前,执行本函数:setup_method()")

    #类中每个用例后执行
    def teardown_method(self):
        print("\n执行用例后,执行本函数teardown_method()")

执行层:runner

1、安装对应版本的allure报告,配置环境变量

2、Pycharm控制台执行pip install allure-pytest

import pytest
import subprocess


allure_result = "./report/allure_result" #指定数据存储目录
allure_html = "./report/allure_html"#存放html报告
pytest.main(['case','-v','-s',f'--alluredir={allure_result}','--clean-alluredir'])
subprocess.run(f'allure generate {allure_result} -o {allure_html} --clean',shell=True,universal_newlines=True)  #生成报告

运行结果:

D:\Study\pythonProject\venv\Scripts\python.exe D:/Study/pythonProject/Pythonpytest/runner.py
============================= test session starts =============================
platform win32 -- Python 3.7.9, pytest-7.4.4, pluggy-1.2.0 -- D:\Study\pythonProject\venv\Scripts\python.exe
cachedir: .pytest_cache
rootdir: D:\Study\pythonProject\Pythonpytest
plugins: allure-pytest-2.15.2, rerunfailures-13.0, xdist-3.5.0
collecting ... collected 6 items

case/test_login.py::testlogin 
模块执行前,执行这个函数:setup_module()

函数执行前,执行这个函数:setup_function()
通过函数实现用例
PASSED
函数执行后,执行这个函数:teardown_function()

case/test_login.py::testlogin1 
函数执行前,执行这个函数:setup_function()
通过函数写用例:testlogin1
PASSED
函数执行后,执行这个函数:teardown_function()

case/test_login.py::testlogin2 
函数执行前,执行这个函数:setup_function()
通过函数写用例:testlogin2
PASSED
函数执行后,执行这个函数:teardown_function()

case/test_login.py::TestLogin::testlogin3 
类里面用例执行前执行一次这个函数:setup_class()

执行用例前,执行本函数:setup_method()
用类方法写用例
PASSED
执行用例后,执行本函数teardown_method()

case/test_login.py::TestLogin::testlogin4 
执行用例前,执行本函数:setup_method()
用实例方法写用例
PASSED
执行用例后,执行本函数teardown_method()

case/test_login.py::TestLogin::testlogin5 
执行用例前,执行本函数:setup_method()
用实例方法写用例
PASSED
执行用例后,执行本函数teardown_method()

类里面用例执行后执行一次这个函数:teardown_class()

模块执行后,执行这个函数:teardown_module()


============================== 6 passed in 0.03s ==============================
Report successfully generated to .\report\allure_html

Process finished with exit code 0

报告存放数据(自动生成):

allure查看报告

1、选择(allure_html)——》点击(index.html),选择右上角对应的浏览器打开查看

常见问题:

1、要考虑allure版本的兼容性,当前版本用的是:2.36.0。如果版本不兼容,可能会存在allure_result有数据,但是打开报告后,测试数据为:0的情况。

        解决方案:重新下载、安装适配的allure,重启pycharm就可以解决,如果还是解决不了,直接重启电脑。(前提:allure_result结果数据可以正常生成)

2、runner执行后,如果控制台显示allure红色方框?乱码。原因是在配置allure环境变量的时候,pycharm是打开状态,allure未生效。

        解决方案:重启pycharm就可以解决,如果还是解决不了,直接重启电脑。

考虑柔性负荷的综合能源系统低碳经济优化调度【考虑碳交易机制】(Matlab代码实现)内容概要:本文围绕“考虑柔性负荷的综合能源系统低碳经济优化调度”展开,重点研究在碳交易机制下如何实现综合能源系统的低碳化与经济性协同优化。通过构建包含风电、光伏、储能、柔性负荷等多种能源形式的系统模型,结合碳交易成本与能源调度成本,提出优化调度策略,以降低碳排放并提升系统运行经济性。文中采用Matlab进行仿真代码实现,验证了所提模型在平衡能源供需、平抑可再生能源波动、引导柔性负荷参与调度等方面的有效性,为低碳能源系统的设计与运行提供了技术支撑。; 适合人群:具备一定电力系统、能源系统背景,熟悉Matlab编程,从事能源优化、低碳调度、综合能源系统等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究碳交易机制对综合能源系统调度决策的影响;②实现柔性负荷在削峰填谷、促进可再生能源消纳中的作用;③掌握基于Matlab的能源系统建模与优化求解方法;④为实际综合能源项目提供低碳经济调度方案参考。; 阅读建议:建议读者结合Matlab代码深入理解模型构建与求解过程,重点关注目标函数设计、约束条件设置及碳交易成本的量化方式,可进一步扩展至多能互补、需求响应等场景进行二次开发与仿真验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值