超简单的测试:Yaml文件在Python接口自动化中的应用

发表于:2023-10-31 09:10

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:测试安静    来源:51Testing软件测试网

  前言
  一般在做自动化的时候大家都会使用到很多数据,一般像接口数据大部分都是存放在数据库中,web自动化的数据可以通过excel进行存放,今天小编介绍一种存放方式,是直接存放在yaml文件中。
  Yaml
  Yaml是一种人类可读的数据序列化语言。它通常用于配置文件,但也用于数据存储(例如调试输出)或传输(例如文档标题)。
  安装
  pip install pyyaml 
  yaml的书写格式
  可以通过下方格式进行书写,yaml看中自己的格式,书写时需要注意对齐。
  test_01:
    user: admin
    pwd: 123456
    name: anjing
  读取yaml
  yaml格式已经书写完成了,接下来就是读了,下面小编通过yaml的路径进行读取,然后将读取的内容转换成了字典的形式,方便后续使用这些数据。
  import yaml
  file_path = r'D:\test_daily\test.yaml'
  with open(file_path, 'r', encoding='utf-8') as f:
      t = f.read()
      # 通过字典的形式显示
      result = yaml.load(t,Loader=yaml.FullLoader)
  print(result)
  ------------------------执行结果------------------------------------
  {'test_01': {'user': 'admin', 'pwd': 123456, 'name': 'anjing'}}
  实战演示
  上面已经介绍了如何进行对yaml读,并且转换了我们经常使用的字典格式,接下来小编用过简单的例子自动化测试例子进行演示如何使用yaml存放测试数据,下面写了一个正常的yaml的存储数据。
  test_01:
    url: http://apis.juhe.cn/simpleWeather/query
    key: xxxxxxxxxxxxxxxxxxxxxxxxx
    city: 上海
  测试数据准备好了,小编这里就直接通过requests进行将yaml读取到的结果放入到请求参数中:
  # coding:utf-8
  import yaml
  import requests
  file_path = r'D:\test_daily\test.yaml'
  with open(file_path, 'r', encoding='utf-8') as f:
      t = f.read()
      # 通过字典的形式显示
      result = yaml.load(t,Loader=yaml.FullLoader)
  def test_01():
      url = result['test_01']['url']
      data = {
          'key': result['test_01']['key'],
          'city': result['test_01']['city']
      }
      he={
          'Content-Type': 'application/x-www-form-urlencoded'
      }
      r = requests.post(url,headers=he,data=data)
      print(r.text)
  运行程序,查看当前程序执行结果,通过执行发现,天气接口已经请求成功了。
本文节选自第七十四期《51测试天地》
P y t h o n使用Yaml读取参数》一文
想继续阅读全文或查看更多精彩内容,请点击下载:
  版权声明:本文出自《51测试天地》第七十四期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号