首页 > 其他分享 >类中使用fixture

类中使用fixture

时间:2023-09-05 13:13:16浏览次数:23  
标签:name 05 py fixture util 2023 使用 id 类中

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.yaml')
    print(list)
    @pytest.mark.parametrize("keyword",list)
    def test_orders(self,my_fixture,keyword):
        url = "http://127.0.0.1/api/mgr/orders"
        method = "post"
        data = {

            "action": "list_order",
            "pagesize": 10,
            "pagenum": 1,
            "keywords": keyword
        }

        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:{keyword}")
                print(f"订单名称:{res.json()['retlist'][i]['name']}")
                assert keyword in res.json()['retlist'][i]["name"]

        return res

结果:

============================= test session starts =============================
collecting ... ['南京', '北京', '郑州', '西安']
collected 4 items

test_parametrize_02.py::TestOrders::test_orders[南京] [2023-09-05 13:05:12,945][INFO][request_util.py][34] [发送请求成功]

test_parametrize_02.py::TestOrders::test_orders[北京] 
test_parametrize_02.py::TestOrders::test_orders[郑州] 
test_parametrize_02.py::TestOrders::test_orders[西安] 执行后置步骤


============================== 4 passed in 1.64s ==============================
执行前置步骤
[2023-09-05 13:05:11,843][INFO][request_util.py][24] [开始发送请求:请求地址http://127.0.0.1/api/mgr/signin]
[2023-09-05 13:05:12,927][INFO][request_util.py][34] [发送请求成功]
[2023-09-05 13:05:12,929][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 13:05:12,952][INFO][request_util.py][24] [开始发送请求:请求地址http://127.0.0.1/api/mgr/orders]
[2023-09-05 13:05:12,967][INFO][request_util.py][34] [发送请求成功]
{'ret': 0, 'retlist': [], 'total': 0}
PASSED[2023-09-05 13:05:12,972][INFO][request_util.py][24] [开始发送请求:请求地址http://127.0.0.1/api/mgr/orders]
[2023-09-05 13:05:12,987][INFO][request_util.py][34] [发送请求成功]
{'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}
keyword:郑州
[2023-09-05 13:05:12,992][INFO][request_util.py][24] [开始发送请求:请求地址http://127.0.0.1/api/mgr/orders]
订单名称:药品订单-郑州人民医院2
PASSED{'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[2023-09-05 13:05:13,080][INFO][request_util.py][34] [发送请求成功]

进程已结束,退出代码0

yaml文件

- 南京
- 北京
- 郑州
- 西安

标签:name,05,py,fixture,util,2023,使用,id,类中
From: https://www.cnblogs.com/Avicii2018/p/17679332.html

相关文章

  • 使用parted快速对新硬盘/磁盘进行分区
    1.前言由于MBR分区表只能识别2TB的硬盘(原因可以看MBR分区表为什么最大只能识别2TB硬盘容量),因此随着现在的硬盘空间越来越大,需要使用其他的分区表,如GPT。2.使用parted进行磁盘分区首先安装好磁盘之后,需要使用fdisk命令识别你的磁盘信息(普通用户使用sudo提权,下面同理):fdisk-l......
  • Linux系统之expr命令的基本使用
    (Linux系统之expr命令的基本使用)一、expr命令介绍expr是一个用于数学表达式计算工具命令行工具,它可以对整数、小数和字符串进行算术操作、逻辑运算、比较操作和字符串操作等。二、expr的命令帮助1.expr的help帮助信息expr的help帮助信息[root@docker~]#expr--helpU......
  • 01 - 安装 Rust 和使用 Cargo
    一、Rust介绍Rust是一门系统编程语言,专注于安全,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言。Rust在语法上和C++类似,但是设计者想要在保证性能的同时提供更好的内存安全。Rust最初是由Mozilla研究院的GraydonHoare设计创造,然后在DaveHerman,Br......
  • xfs文件系统-------使用备份文件恢复被误删的文件
    LinuxCentos7xfs文件误删了怎么办——快速恢复xfs文件xfs文件恢复xfs类型的文件可使用xfsdump与xfsrestore工具进行备份恢复。若系统中未安装xfsdump与xfsrestore工具,可以通过yuminstall-yxfsdump命令安装。xfsdump按照inode顺序备份一个xfs文件系统。xfsdump......
  • 解决命令行提示“cannot create temp file for here-document: No space left on devi
    问题如题,出现“cannotcreatetempfileforhere-document:Nospaceleftondevice”,且部分应用出现故障,比如重启后Docker容器无法启动先使用df-h检查磁盘使用率,显示使用率50%还不到继续排查,使用lsof|grepdeleted 或lsof-w|grepdeleted检查是否存在未释放的已......
  • 使用JSON.parseObject深拷贝二-复杂型拷贝
    问:如果json拷贝类型类似Page<T>这种复杂型的呢答:使用JSON的publicstatic<T>TparseObject(Stringtext,TypeReference<T>type,Feature...features)方法;代码如下:Page<EtcPassBillDataResponseVo>voPage=JSON.parseObject(JSON.toJSONString(dtoPage),new......
  • PIOC-PIOC参考应用例程使用说明
    CH32X035芯片PIOC参考应用例程使用说明引言:CH32X035芯片内,嵌入了一个可编程协议I/O微控制器PIOC,即eMCU,该eMCU基于单时钟周期精简指令集的RISC8B内核,运行于系统主频,具有2K指令的程序ROM和49个SFR寄存器及PWM定时/计数器,支持2个I/O引脚的协议控制。在......
  • Python使用 - 生成器, yield的使用
     fromcollections.abcimportIteratordeftest_yield(n):foriinrange(n):yieldi*2#暂停在当前步骤,返回值,下次继续从暂停位置继续return-1my_gen=test_yield(3)print(type(my_gen),isinstance(my_gen,Iterator))#<class'genera......
  • python使用 - 匿名函数lambda
    例1fn=lambdax,y:x+yprint(type(fn))#<class'function'>print(fn(1,2))#3例2defadd(x,y):returnx+yprint(type(add))#<class'function'>print(add(1,2))#3 def方式和lambda方式功能是一样的,只是lambda更简洁,到底用哪个......
  • Linux基本命令使用
    基本命令使用Linux中,一切皆文件文本文件链接文件一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。首字母是L开头的是软链接文件Linux中包括两种链接:硬链接(HardLink)和软链接(SoftLink),软链接又称为符号链接(Symboliclink)。硬链接:硬链接不占用磁盘空间硬链......