pytest笔记(5)——DDT技术(1)

测试框架DDT技术说明:
常见的DDT技术:
    数据结构:
        列表
        字典
        json串
    文件:
        txt
        csv
        excel
    数据库:
        数据库链接
        数据库提取
    参数化:
        @pytest.mark.parametrize()
        @pytest.fixture()

列表:
    定义
        list=[1,2,3,4,5]
    读取
        list(1)
    追加
        list.append()
字典:
    定义
        d = {'username':'zhang','password':'123456'}
    读取
        d['username']
        for key in d:
            print(key,d[key])
    追加
        d['moble']="1555255555"
json串:使用的时候需要导入库import json
    读取
        先转换为字典:d =json.load(d)

DDT——txt文件读取:
    打开TXT文件:
        file = open('文件','r',encoding='utf-8')
    读取文件:
        file.read()
    写入文件内容
        file1 = open('文件','aw')
        file1.write('内容')
    关闭文件:
        file.close()
        file1.close()
    #文件设置好了之后取出来的如果是列表可以直接循环获取每一次的值
    for i in file:
        print(i)
    #如果txt文件取出来是str类型则需要使用str.slip()进行分割,最后输出的就是列表
实际使用的时候在class上面定义一个方法用来获取TXT文件并返回列表
然后再需要参数化的方法上使用@pytest.mark.parametrize('参数名',调用获取txt方法)

可以写一个公共的方法直接调用就可以
1、单独写一个文件中,调用的时候需要把文件名、包名方法名导入【适用于少量的方法】
2、使用公用的包com_DDT存放单独的文件,然后把方法写入文件。 脚本调用之前需要把文件和方法导入[常用]
3、更方便的方法——conftest.py文件
要求:
    文件名称是固定的:conftest.py
    conftest.py文件所在的目录必须存在__init__.py文件
    conftest.py文件不能被其他文件导入
    所在的同目录文件在运行前都会执行一下conftest.py文件
        import pytest
        #获取数据方法
        # 在使用之前需要使用固件
        @pytest.fixture(scope='session')  #scope后面跟这个方法的作用范围
        def get_txt():
            # 打开文件
            f = open('D:\\121.txt', 'r', encoding='utf-8')
            # 读取文件
            txt = f.readlines()
            # print(txt)
            for i in txt:
                # print(i)
            return txt
            f.close()

   使用的时候直接引用方法的方法名就可以,不要加()

===========================================DDT技术小结=================================================
一、读取列表、字典、json串、txt文件中的数据
二、读取后数据内容在pytest中使用
    同一py文件
    来自不同的py文件
    从公共数据层拿数据
    常用的是使用@pytest.mark.parametrize(''.'')传入数据
    也可以使用conftest.py文件中读取数据然后其他文件调用方法+固件
    如果是需要传参则需要使用固件@pytest.fixture()
================================================结束======================================================
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值