• 0
  • 0
分享
  • YAML-解决自动化测试中的上下接口依赖数据
  • 豆秸 2022-07-08 08:49:51 字数 1059 阅读 1845 收藏 0

在接口自动化测试过程中,存在部分公共配置、以及登录等信息需要存储,方便其他接口直接读取使用。这个时候可以用到yaml的写和读的功能。

yaml基础语法等参考:https://mp-new.csdn.net/mp_blog/creation/editor/82011288

yaml写-将公共配置和登录信息写入到yaml文件内

#1-写入yaml文件
with open('config.yaml','w',encoding='utf-8') as f:
    yaml.dump(base_setting,f) #base_setting为公共配置或者已从上一个接口中提取的登录信息
    print('写入成功')

yaml读-从yaml读取公共配置和登录信息

#2-读取yaml文件
with open('config.yaml','r',encoding='utf-8') as f:
   data= yaml.safe_load(f.read())
   print('读取到的数据为>>>>',data)

封装

将上述读和写封装为函数,在需要的地方直接调用即可,封装效果如下:

'''使用场景:管理接口的上下文依赖数据,管理基础配置变量'''
import yaml
base_setting={
      'env': 'pre',
      'acccount': 10001,
      'password': 12345678,
      'info':
               [ { 'age': '8', 'sex': 'woman' },
                 { 'score': '90'} ]
}
 
#写入yaml文件
def write_yaml(base_setting):
    with open('config.yaml','w',encoding='utf-8') as f:
        yaml.dump(base_setting,f)
        print('写入成功')
 
#读取yaml文件
def read_yaml():
    with open('config.yaml','r',encoding='utf-8') as f:
       data= yaml.safe_load(f.read())
       print('读取到的数据为>>>>',data)
       return data  #data返回全部数据,接口在引用其中部分字段值时可再提取指定字段值
  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   面对ChatGPT的来势汹汹,谷歌彻底慌了。  OpenAI发布ChatGPT也不过是4个月之前。但是在这4个月里,已经有不少预言,称ChatGPT带来的变革,将会颠覆谷歌的现有搜索产品和商业模式。  于是,谷歌CEO桑达尔·皮柴(Sundar Pichai) 开启“战备”状态:先是在ChatGPT问世两周内就拉起了“红色警报”,然后创始人拉里·佩奇和谢尔盖·布林时隔3年再度被紧急唤回。  今天皮柴更是在官网上称,谷歌一直在研发一款名为Bard的实验性对话AI服务,今天起,谷歌将把它对信任的开发者开放,然后将在接下来的几周内,把它向更广泛的受众开放。  谷歌终于加入了这场智能聊天机器人对搜...
            0 0 886
            分享
          • 1、微信支付的流程2、微信的接口文档https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_13、新建一个spring-boot的项目4、导入需要的依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/200...
            0 0 1422
            分享
          •   测试用例编写完之后,我们在测试过程中往往会发现,有一些用例其实是重复的,造成很多重复工作,那么我们应当如何去除这些重复用例呢?  尤其使用等价类划分和边界值分析编写用例时,很容易造成用例重复。  举例  下面我们通过一个例子来具体分析一下。  首先选择一个场景,后台维护前台账号,主要有以下几个字段(字段太多,这里只列举三个字段进行分析)。  账号:4~8位字母和数字组合  密码:8~16位字母数字组合  姓名:字母、数字、特殊字符和汉字组合,长度4~20  下面我们对他们的等价类和边界值进行分析。  账号  有效等价类:6位数字和字母组合,5位纯数字组合,7位纯字母组合。  无效等价类:3...
            0 0 1511
            分享
          •   据BusinessKorea报道,苹果芯片供应商台积电明年有望交付 2 纳米芯片技术。预计苹果公司将于明年把其定制芯片转移到 2 纳米工艺,以充分利用台积电的先进技术。据悉,台积电正满怀信心地推进 2 纳米节点。这家芯片制造商此前宣布"2 纳米工艺的开发进展顺利",量产有望在 2025 年实现。  有传言称,由于首次应用全栅极(GAA)技术面临技术挑战,台积电可能被迫将其 2 纳米工艺的全面量产推迟到 2026 年。但公司方面辟谣称,"应用 GAA 时的良率已达到目标的 90%",表明技术研发已取得了实质性进展。苹果公司首席运营官杰夫-威廉姆斯(Je...
            0 0 704
            分享
          • HTTP, HTTPS协议什么是DNSDNS是域名系统(Domain Name System),DNS是用来做域名解析的,它会在你上网输入网址后,把它转换成IP,然后去访问对方服务器;没有它,你想上百度就要记住百度的IP,但有了DNS的处理,你只需要记住对应网站的域名,即网址就可以了。HTTP协议HTTP协议:超文本传输协议,是基于TCP的协议,默认为80端口。它的作用是用来规定客户端和服务器的数据传输格式。是一种用于请求与响应模式的、无状态、无连接 的应用层协议。 由于HTTP协议是一种请求-响应模式,所以一般需要关注HTTP请求和HTTP响应。怎么抓取HTTPS协议使用fiddler工具抓...
            0 1 966
            分享
      • 51testing软件测试圈微信