首页 > 其他分享 >pytest.mark.parametrize() 字典

pytest.mark.parametrize() 字典

时间:2023-09-05 22:12:21浏览次数:48  
标签:parametrize name 05 mark util amount pytest 2023 id

yaml文件

-
  action: list_order
  keywords: 南京
-
  action: list_order
  keywords: 郑州
-
  action: list_order
  keywords: 西安

代码:

import json
import pprint

import pytest

from Slience.utils.login_util import Login
from Slience.utils.request_util import SendRequest
from Slience.utils.yaml_util import read_yaml


@pytest.fixture(scope='class',autouse=False)
def my_fixture():
    print("执行前置步骤")
    Login().login_system()

    yield
    print("执行后置步骤")
    logout()

def logout():
    SendRequest.s.close()
    pass

class TestOrders():
    """列出订单"""

    list  = read_yaml('orders_dict.yaml')
    print(list)
    @pytest.mark.parametrize("info",list)
    def test_orders(self,my_fixture,info):
        url = "http://127.0.0.1/api/mgr/orders"
        method = "post"
        data = {

            "action": info["action"],
            "pagesize": 10,
            "pagenum": 1,
            "keywords": info["keywords"]
        }

        res = SendRequest().send_request(method, url, json=data)
        assert res.status_code == 200
        print(res.json())
        length = len(res.json()["retlist"])
        if length >= 1:
            for i in range(length):
                print(f"keyword:{info['keywords']}")
                print(f"订单名称:{res.json()['retlist'][i]['name']}")
                assert info['keywords'] in res.json()['retlist'][i]["name"]

        return res

 

运行结果:

============================= test session starts =============================
collecting ... [{'action': 'list_order', 'keywords': '南京'}, {'action': 'list_order', 'keywords': '郑州'}, {'action': 'list_order', 'keywords': '西安'}]
collected 3 items

test_parametrize_dict.py::TestOrders::test_orders[info0] 
test_parametrize_dict.py::TestOrders::test_orders[info1] 
test_parametrize_dict.py::TestOrders::test_orders[info2] 执行后置步骤
[2023-09-05 21:41:05,279][INFO][request_util.py][34] [发送请求成功]


============================== 3 passed in 1.60s ==============================
执行前置步骤
[2023-09-05 21:41:04,078][INFO][request_util.py][24] [开始发送请求:请求地址http://127.0.0.1/api/mgr/signin]
[2023-09-05 21:41:05,217][INFO][request_util.py][34] [发送请求成功]
[2023-09-05 21:41:05,218][INFO][request_util.py][24] [开始发送请求:请求地址http://127.0.0.1/api/mgr/orders]
{'ret': 0, 'retlist': [{'id': 25, 'name': '药品订单-南京人民医院2', 'create_date': '2023-08-31T15:10:51.280Z', 'medicinelist': '[{"id": 38, "amount": "3", "name": "藿香正气"}, {"id": 37, "amount": "5", "name": "蒙脱石散"}, {"id": 36, "amount": "10", "name": "蓝芩口服液"}, {"id": 34, "amount": "10", "name": "抗病毒颗粒"}]', 'customer_name': '南京人民医院2'}, {'id': 22, 'name': '药品订单-南京人民医院1', 'create_date': '2023-08-31T15:07:28.673Z', 'medicinelist': '[{"id": 33, "amount": "3", "name": "连花清瘟胶囊"}, {"id": 31, "amount": "4", "name": "布洛芬"}]', 'customer_name': '南京人民医院1'}], 'total': 2}
keyword:南京
订单名称:药品订单-南京人民医院2
keyword:南京
订单名称:药品订单-南京人民医院1
PASSED[2023-09-05 21:41:05,247][INFO][request_util.py][34] [发送请求成功]
[2023-09-05 21:41:05,251][INFO][request_util.py][24] [开始发送请求:请求地址http://127.0.0.1/api/mgr/orders]
{'ret': 0, 'retlist': [{'id': 24, 'name': '药品订单-郑州人民医院2', 'create_date': '2023-08-31T15:09:57.574Z', 'medicinelist': '[{"id": 34, "amount": "10", "name": "抗病毒颗粒"}, {"id": 35, "amount": "10", "name": "蒲地蓝消炎片"}, {"id": 36, "amount": "10", "name": "蓝芩口服液"}]', 'customer_name': '郑州人民医院2'}], 'total': 1}
[2023-09-05 21:41:05,264][INFO][request_util.py][34] [发送请求成功]
keyword:郑州
订单名称:药品订单-郑州人民医院2
PASSED[2023-09-05 21:41:05,267][INFO][request_util.py][24] [开始发送请求:请求地址http://127.0.0.1/api/mgr/orders]
{'ret': 0, 'retlist': [{'id': 23, 'name': '药品订单-西安中医院2', 'create_date': '2023-08-31T15:09:17.150Z', 'medicinelist': '[{"id": 30, "amount": "30", "name": "复方氨酚烷胺胶囊"}, {"id": 32, "amount": "20", "name": "对乙酰氨基酚"}, {"id": 33, "amount": "10", "name": "连花清瘟胶囊"}]', 'customer_name': '西安中医院2'}], 'total': 1}
keyword:西安
订单名称:药品订单-西安中医院2
PASSED
进程已结束,退出代码0

 

标签:parametrize,name,05,mark,util,amount,pytest,2023,id
From: https://www.cnblogs.com/Avicii2018/p/17680961.html

相关文章

  • pytest.mark.parametrize() 列表1
    yaml文件:-南京-北京-郑州-西安  代码:importjsonimportpprintimportpytestfromSlience.utils.login_utilimportLoginfromSlience.utils.request_utilimportSendRequestfromSlience.utils.yaml_utilimportread_yaml@pytest.fixture(scope=......
  • Hugging News #0904: 登陆 AWS Marketplace
    每一周,我们的同事都会向社区的成员们发布一些关于HuggingFace相关的更新,包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等,我们将其称之为「HuggingNews」。本期HuggingNews有哪些有趣的消息,快来看看吧!......
  • Markdown学习
    Markdown学习标题三级标题四级标题HelloWorld!HelloWorld!HelloWorld!HelloWorld! 引用选择狂神说JAVA,走向人生巅峰 分割线 图片 超链接点击跳转到狂神博客  列表13 ABC 表格名字性别生日张三男1997.1.1......
  • 博客写作神器:介绍与部署Markdown Nice
    作为开发者和写作者,我们经常需要使用Markdown来编写文档、博客和技术文稿。然而,标准的Markdown格式可能显得有些普通,缺乏一些专业的排版效果。在这里,我们将向你介绍一个强大的工具——MarkdownNice(mdnice),它可以帮助你轻松地为你的Markdown文档添加漂亮的排版效果。github地址:https......
  • Go - benchmark cpuprofile
    zzh@ZZHPC:/zdata/MyPrograms/Go/aaa$gotest-runNONE-bench.goos:linuxgoarch:amd64pkg:zzh/aaacpu:Intel(R)Core(TM)[email protected]/opPASSokzzh/aaa1.392szzh@ZZHPC:/zdata/MyPrograms/Go......
  • Dynamics 365 Marketing自定义渠道的步骤
    1.创建2个实体:渠道【new_flashinfosmschannel】、消息模板(配置窗体)注意:如果想用标准消息模板,可以不用创建消息模板标准消息模板效果:   2.导出解决方案,往XML增加一个关系【EntityRelationship】https://learn.microsoft.com/zh-cn/dynamics365/marketing/real-time-mark......
  • 学习Markdown
    学习Markdown---Typora初体验标题语法:#+空格+标题+回车。几级标题就有几个#号。三级标题四级标题五级标题六级标题#######七级标题。。。我没有字体斜体语法:\[*内容*\]加粗语法:\[**内容**\]斜体加粗语法:\[***内容***\]删除线语法:\[两条波浪线内容两条波浪线......
  • 【python自动化】pytest系列(下)
    pytest系列文章一共有四篇,本文为第三篇。公众号:梦无矶的测试开发之路,回复pytest可以领取对应资料本章知识点文章目录Pytest之fixture(1)fixture实现前/后置(2)fixture数据传递(3)fixture全局共享机制conftest.py(4)fixture嵌套Pytest之fixture示列代码使用装饰器的方式,scope参数是代表指......
  • 【python自动化】pytest系列(完结)
    pytest系列文章一共有四篇,本文为第四篇完结篇。应各位小伙伴留言,希望可以把这几篇pytest文章进行汇总。公众号:梦无矶的测试开发之路,回复pytest可以领取对应汇总资料本章知识点文章目录Pytest高阶用法(1)参数化(2)pytest.ini①marks标记②addopts配置(3)pytest.mark.相关1、直接跳过执......
  • Markdown
    简介-教程Markdown是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。VSCode下安装MarkdownPreviewEnhanced插件标题我展示的是一级标题=================我展示的是二级标题-----------------#一级标题##二级标题###三级标题####四级标题......