Pytest内置函数,让你不再为自动化测试数据存放发愁。

文章介绍了Pytest中的tmpdir函数,它是用于在测试开始前创建临时文件目录并在结束后删除,方便管理测试数据。通过示例展示了如何创建和使用临时文件夹及文件,以及在接口测试中存储和读取数据的过程。强调了tmpdir在处理临时测试数据时的便利性。
摘要由CSDN通过智能技术生成

前言

在跑自动化测试中,测试过程中会用到一些测试数据,其中这些测试数据包括临时测试数据和常用到的数据,经常用到的数据,我们可以通过Excel或者yaml文件的方式进行存储,那么临时文件的呢?

今天安静来介绍Pytest中的一个内置函数就可以方便的帮我们解决这个问题。

tmpdir是属于Pytest中的一个内置函数,这个函数表示的意思是在测试开始运行前创建一个临时文件目录,并在测试结束后进行删除。

这个临时文件目录可以用来存放我们的测试数据。

使用方法

在测试用例后面直接写入tmpdir,需要用到创建临时文件或者临时文件夹的时候直接进行创建。

import pytest

def test_01(tmpdir):
    # 创建一个测试目录
    a = tmpdir.mkdir('测试目录')
    # 创建一个测试文件
    aa = a.join('123.txt')
    # 在这个测试文件中进行写入一行文字
    aa.write('这是一个测试文件')
    print('测试目录地址:%s'%a)
    # 读取文件中写入的内容
    txt = aa.read()
    print(txt)
    assert txt == '这是一个测试文件'
    
if __name__ == '__main__':
    pytest.main(['-vs'])
复制代码

通过Pytest的方式进行读取文件内容,我们可以发现已经把这个临时文件创建完成了。为了确保安静特意去了这个文件夹下面看了下,确实存在内容。

 

注意:这里安静提一句,虽然说当时临时文件没有删除,但是当我们再次调用这个临时文件后,Pytest将自动进行临时文件覆盖。

实战演练

上面安静已经介绍了如何对tmpdir的内置函数的使用介绍,这里安静通过请求两个接口然后进行演示如何在项目中使用。

  • 接口1:通过填写一个随机的手机号,通过手机号归属地接口进行查询到城市地址。
  • 接口2:通过上述接口1的城市地址,查询出当地的天气预报情况。

这里所产生的数据:手机号码归属地查询结果,以及当地的天气预报情况,安静全部通过tmpdir的方式进行写入到临时文件中。

import pytest
import requests
def phone():
    '''查询手机归属地'''
    url = 'http://apis.juhe.cn/mobile/get'
    data = {
        'key':"7d2b9b14adfe392c88b9c431297be543",
        'phone':"15641111111"
    }
    r = requests.post(url,data=data)
    return r.json()
def tianqi(city):
    '''查询天气预报'''
    url = 'http://apis.juhe.cn/simpleWeather/query'
    data = {
        'city':city,
        'key':'331eab8f3481f37868378fcdc76cb7cd'
    }
    r = requests.post(url,data=data)
    return r.json()
def test_01(tmpdir):
    '''测试用例1'''
    # 调用手机归属地接口
    ph = phone()
    # 创建一个临时文件
    a = tmpdir.join('123.txt')
    # 在临时文件中写入接口返回内容
    a.write(ph)
    # 获取城市名
    city = eval(a.read())['result']['city']
    print('城市的地址是:%s'%city)
    # 执行查询天气接口
    result = tianqi(city)
    # 将天气接口信息写入到文件内
    a.write(result)
    print(result)
if __name__ == '__main__':
    pytest.main(['-vs'])
复制代码

通过执行接口可以看出两个接口都成功执行了。

通过查看临时文件目录,并且成功的创建了临时文件内容。

总结

安静通过一个小小的例子简单的介绍了Pytest的内置函数tmpdir,当然这里创建临时文件的方法不止这一个,安静只是通过这个例子来让大家简单的认识tmpdir。

具体详细的操作可以参考官方文件进行查阅。希望这个库对你能有所帮助。感谢你的阅读。

 学习安排上

如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

在这里插入图片描述

视频文档获取方式:

这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片进群即可自行领取

weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
python017基于Python贫困生资助管理系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码小怡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值