首页 > 其他分享 >pytest---创建临时文件来存储测试数据(tmpdir)

pytest---创建临时文件来存储测试数据(tmpdir)

时间:2023-03-10 11:01:32浏览次数:39  
标签:__ city 接口 --- pytest 临时文件 tmpdir

前言

  在跑自动化测试中,测试过程中会用到一些测试数据,其中这些测试数据包括临时测试数据和常用到的数据,经常用到的数据,我们可以通过Excel或者yaml文件的方式进行存储,那么临时文件的呢?今天安静来介绍pytest中的一个内置函数就可以方便的帮我们解决这个问题。

tmpdir

  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。具体详细的操作可以参考官方文件进行查阅。希望这个库对您能有所帮助。感谢您的阅读。

 

 

标签:__,city,接口,---,pytest,临时文件,tmpdir
From: https://www.cnblogs.com/qican/p/17202653.html

相关文章

  • Liunx基础知识 --2
    本教程的重点是通过命令行在Linux中查找您要查找的内容。locateLinux有多种从命令行查找应用程序、命令、文件等的方法。可能最容易使用的是locate。Locate,后跟一个关......
  • 21:swift-扩展
      正文/*扩展1:扩展为现有的类、结构体、枚举类型、或协议添加了新功能。这也包括了为无访问权限的源代码扩展类型的能力(即所谓的逆向建模)。扩展和Objec......
  • ASP.NET Core - 配置系统之配置添加
    2.配置添加配置系统可以读取到配置文件中的信息,那必然有某个地方可以将配置文件添加到配置系统中。之前的文章中讲到ASP.NETCore入口文件中,builder(WebApplicationBui......
  • 2023.03.10 - chrome调试工具的force state强制状态无效
    这是因为,选择的元素是没有对应state状态的,所以强制了也没有。比如:在一个span标签里使用了:hover,而span没有绑定hover状态,我们能点的动元素中的元素,是因为冒泡上去的父......
  • Liunx基础知识--1
    文件系统与Windows文件系统不同,Linux系统不受物理驱动器的限制。Linux文件系统在其文件结构的顶部有根或/。这并不代表物理驱动器,而只是逻辑文件结构的顶部。 ......
  • ASP.NET Core - 配置系统之配置读取
    一个应用要运行起来,往往需要读取很多的预设好的配置信息,根据约定好的信息或方式执行一定的行为。配置的本质就是软件运行的参数,在一个软件实现中需要的参数非常多,如果我们......
  • linux基础(3)--实用指令2(时间指令、搜索指令和压缩指令)
    1时间日期指令1.1datedate  显示当前时间date+%Y 显示当前年份date+%m 显示当前月份date+%d 显示今天date"+%Y-%m-%d%H:%M:%......
  • 4N65-ASEMI高压N沟道MOS管4N65
    编辑:ll4N65-ASEMI高压N沟道MOS管4N65型号:4N65品牌:ASEMI封装:TO-220最大漏源电流:4A漏源击穿电压:650VRDS(ON)Max:2.5Ω引脚数量:3沟道类型:N沟道MOS管芯片尺寸:MIL漏电流......
  • ABP微服务系列学习-对接Apollo配置中心
    前面我们把服务都已经成功启动,并且对接前端Angular界面。但是在微服务结构中,多个服务意味着需要配置多个配置文件,这时就需要引入配置中心这玩意了。配置中心有很多现成的方......
  • IO流-字节流
    IO流-字节流/*FileOutputStream:文件输出流用于将数据写入FileFileOutputStream(Stringname):创建文件输出流以指定的名称写入文件*/packageIO.B......