html框架变量,ddt框架优化(生成html报告注释内容传变量)

https://blog.csdn.net/weixin_33923148/article/details/86017742

按要求修改后发现  注释只传值第一个变量

这是因为

ddt数据驱动生成html测试报告获取不到接口的名字

需要修改ddt中的 mk_test_name() 方法

#原文件方法

def mk_test_name(name, value, index=):

# Add zeros before index to keep order

index = "{0:0{1}}".format(index + , index_len)

if not is_trivial(value):

return "{0}_{1}".format(name, index)

try:

value = str(value)

except UnicodeEncodeError:

# fallback for python2

value = value.encode('ascii', 'backslashreplace')

test_name = "{0}_{1}_{2}".format(name, index, value)

return re.sub(r'\W|^(?=\d)', '_', test_name)

改为

def mk_test_name(name, value, index=):

# Add zeros before index to keep order

index = "{0:0{1}}".format(index + , index_len)

if not is_trivial(value) and type(value) is not dict:

return "{0}_{1}".format(name, index)

if type(value) is dict:

try:

value = value["case_name"]

print("ddts-name->{}".format(value))

except:

return "{0}_{1}".format(name, index)

try:

value = str(value)

except UnicodeEncodeError:

# fallback for python2

value = value.encode('ascii', 'backslashreplace')

test_name = "{0}_{1}_{2}".format(name, index, value)

return re.sub(r'\W|^(?=\d)', '_', test_name)

2、使用python使用ddt后,在生成的测试报告中,显示dict() -> new empty dictionary

修改ddt文件中的ddt方法,test_docstring = " " 这样就ok了

def ddt(cls):

for name, func in list(cls.__dict__.items()):

if hasattr(func, DATA_ATTR):

for i, v in enumerate(getattr(func, DATA_ATTR)):

test_name = mk_test_name(name, getattr(v, "__name__", v), i)

test_docstring = getattr(v, "__doc__", None)

test_docstring = "" #临时解决报告出现dict()new empty dictionary问题

if hasattr(func, UNPACK_ATTR):

if isinstance(v, tuple) or isinstance(v, list):

add_test(cls, test_name, test_docstring, func, *v)

else:

# unpack dictionary

add_test(cls, test_name, test_docstring, func, **v)

else:

add_test(cls, test_name, test_docstring, func, v)

delattr(cls, name)

elif hasattr(func, FILE_ATTR):

file_attr = getattr(func, FILE_ATTR)

process_file_data(cls, name, func, file_attr)

delattr(cls, name)

return cls

或者 按照

https://www.cnblogs.com/yoyoketang/p/9719509.html

所说 重新安装 ddt 1.12

python笔记32-ddt框架优化(生成html报告注释内容传变量)

前言 至于什么是ddt这个可以参考我之前写的博客内容,使用ddt框架的时候,有个问题困扰我很久了,一直没得到解决(也有很大小伙伴问过我,没解决抱歉了!) 这个问题就是:如何使用ddt框架时,生成的ht ...

python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告

1.环境准备: python3.6 requests xlrd openpyxl HTMLTestRunner_api 2.目前实现的功能: 封装requests请求方法 在excel填写接口请求参数 ...

python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告(二)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值