自动化测试学习实现(一)--yaml数据驱动

基于python+pytest,是小白的学习之路,过程思路参考EVAN_HU的思路


一、测试用例使用yaml文件保存

all_skip:为true时整个测试模块全部跳过

order_by: 执行顺序,为空列表时,按照顺序执行;

                否则按照列表顺序执行

headers:存在时,所有用例默认使用整个请求头

setup:前置,在整个测试用例执行前执行

teardown:前置,在整个测试用例执行后执行

testcase:

 Case1:测试用例1(依次2,3,4.....)

  name:测试名称

  title:测试描述之类的

  skip:此测试用例是否跳过,true时测试用例跳过

  setup:前置,在此测试用例执行前执行

  teardown:后置,在此测试用例执行后执行

  sleep:睡眠时间,s为单位

  request:

   header:请求头,存在时替换上面的总请求头;

                不存在时使用上面的默认请求头

   url:请求url

   method:请求方法

   body:请求体

  check: 断言,为字典下列表形式

 

 可断言响应码与响应数据

            大于、大于等于、小于、小于等于、

            等于、不等于、包括、不包括;

            值为*,即为断言key是否存在

二、读取yaml文件

return的值时yaml转化为dict格式的数据

"""
    解读yaml文件
"""
import yaml
import traceback
import os


class ReadYaml(object):
    def __init__(self, yaml_file):
        """
        通过init方法把yaml文件传入到这个类
        :param yaml_file: yaml文件
        """
        self.yaml_file = yaml_file

    # 读取yaml文件,把yaml转化成json
    def read_yaml(self):
        """
        读取yaml,对yaml反序列化
        :return:
        """
        if os.path.exists(self.yaml_file) and os.path.getsize(self.yaml_file) != 0:
            try:
                with open(self.yaml_file, encoding='utf-8') as f:
                    yaml_value = yaml.load(f, Loader=yaml.FullLoader)
                    return yaml_value
            except FileNotFoundError:
                traceback.print_exc()
            finally:
                f.close()
        else:
            traceback.print_exc()

我很菜!请求大家的意见让我成长

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值