会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
大话人生
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
公告
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文件中同列内容对齐即可(即空几个空格,都空几个,保证对齐即可)
Created With
EdrawMind
posted on
2022-04-21 11:26
大话人生
阅读(
133
) 评论(
0
)
收藏
举报
刷新页面
返回顶部