• pytest之数据驱动6


    pytest之数据驱动-6
    pytest之数据驱动-6 格式 实例 结合yaml使用 @pytest.mark.parametrize(args_name,args_value) args_name 参数名,字符串 args_value 参数值,可以是list,tuple,字典列表,字典元组 有多少个值,测试用例就会执行多少次 列表 import pytest @pytest.mark.parametrize("caseinfo",["1","2","3"]) def testqudong(caseinfo): print("测试打印:"+caseinfo) 与测试用例方法中变量的名字必须一样 列表中的列表 单个参数名 import pytest @pytest.mark.parametrize("caseinfo",[["1","2","3"]]) def testqudong(caseinfo): print("测试打印:") print(caseinfo) 多个参数名 import pytest @pytest.mark.parametrize("caseinfo",[["1","好"],["2","优"]]) def testqudong(caseinfo): print("测试打印:") print(caseinfo) import pytest @pytest.mark.parametrize("casenum,casedes",[["1","好"],["2","优"]]) def testqudong(casenum,casedes): print("测试打印:") print(casenum,casedes) yaml yaml是一种数据格式,主要用于配置文件或编写用例 yaml只有两种数据 1.键值对 Key:(空格)value 值和冒号之间必须有一个空格,yaml才会把它识别为字典类型,否则只会识别成字符串 类型 2.list,列表,用一组横线开头表示 -百里 -依然 操作yaml所使用的第三方库是pyyaml,不是yaml 一个py文件可以有多个接口 一般一个接口对应一个yaml文件,yaml文件里面就有几十个用例,有正例和反例 问题 1、yaml中无法调用外部的python的方法(i接口关联,变量只能使用一次) 解决方案 使用热加载 2、文件上传 3、yaml文件里面如何断言 等于 包含 4、yaml文件里面的数据量,如果用例比较多的情况下,很庞大 可以通过模板,然后单独记录数据(用csv,excel,数据库等) 5、allure报告的定制 定制日志,名称显示,模块布局等 6、实际场景 具体问题具体分析 深度思考 目前市面上80%-90%以上的测试人员的代码能力很弱,能不能封装地更彻底, 彻底到功能测试不需要写任何代码就可以根据我们地框架写yaml格式的用例即可 实际企业中接口自动化框架需要封装成什么样子呢? yaml格式文件 extract.yml - name: 编辑标签接口 base_url: ${get_base_url(base_gzh_url)} request: method: post url: /cig-bin/tags/update?access_token=${get_extract_data(accsee_token)} json: {"tag":{"id":108,"name":"码尚学院${get_random_number(100000,999999)}"}} validate: - equals: {status_code: 200} - equals: {errcode: 0} - equals: {errmsg: ok} - contains: url yaml文件中同列内容对齐即可(即空几个空格,都空几个,保证对齐即可)
  • 相关阅读:
    ntp网络时间服务搭建
    Docker虚拟化容器的使用
    第06章 Linux文件权限体系讲解
    Linux命令总结--sed命令
    Linux命令总结--date命令
    第05章 正则表达式及相关命令
    子网划分
    第04章系统目录结构知识讲解
    第03章Linux基础优化
    2.5linux命令介绍
  • 原文地址:https://www.cnblogs.com/jingzaixin/p/16173349.html
Copyright © 2020-2023  润新知