使用Pyral给Rally神器添加图片
Adding a picture to Rally artifact by using Pyral
我一直在尝试使用 Pyral 在 Rally 的测试用例中添加图片。
我已经能够成功添加附件和 link 到图片。
但是图片显示不出来:
我从附件下载的图片是1kB的图片(应该是37kB)打不开
我正在使用以下代码
代码
TCID = "TC1234"
attachment = rally.addAttachment(TCid, "picture_new.jpg", mime_type="image/jpeg")
Step['ExpectedResult']='Test picture<br /><img src="/slm/attachment/{oid}/{Name}" />'.format(**attachment.__dict__)
list_Steps.append(Step)
#... and some code to update the Test Steps in the Test Case that works fine
以下代码适用于文本文件(附件具有正确的大小和内容)但不适用于图片。
是我的代码有问题还是API?
问题出在 Rest API 从文件中读取内容的方式
#extract from function addAttachment in file 'restapi.py'
with open(filename, 'r') as af:
contents = base64.b64encode(af.read())
这适用于文本文件,但不适用于二进制文件。
一个临时解决方案是通过将文件读取为二进制 open(filename, 'rb')
来修补 restapi.py
的函数 addAttachment
,这对文本文件也适用。
with open(filename, 'rb') as af:
contents = base64.b64encode(af.read())
之后这对我来说效果很好:
注意:在我的电脑上(Windows),文件restapi.py
可以在:
中找到
{Python Install dir}/Lib/site-packages/pyral/restapi.py
我一直在尝试使用 Pyral 在 Rally 的测试用例中添加图片。
我已经能够成功添加附件和 link 到图片。
但是图片显示不出来:
我从附件下载的图片是1kB的图片(应该是37kB)打不开
我正在使用以下代码 代码
TCID = "TC1234"
attachment = rally.addAttachment(TCid, "picture_new.jpg", mime_type="image/jpeg")
Step['ExpectedResult']='Test picture<br /><img src="/slm/attachment/{oid}/{Name}" />'.format(**attachment.__dict__)
list_Steps.append(Step)
#... and some code to update the Test Steps in the Test Case that works fine
以下代码适用于文本文件(附件具有正确的大小和内容)但不适用于图片。
是我的代码有问题还是API?
问题出在 Rest API 从文件中读取内容的方式
#extract from function addAttachment in file 'restapi.py'
with open(filename, 'r') as af:
contents = base64.b64encode(af.read())
这适用于文本文件,但不适用于二进制文件。
一个临时解决方案是通过将文件读取为二进制 open(filename, 'rb')
来修补 restapi.py
的函数 addAttachment
,这对文本文件也适用。
with open(filename, 'rb') as af:
contents = base64.b64encode(af.read())
之后这对我来说效果很好:
注意:在我的电脑上(Windows),文件restapi.py
可以在:
{Python Install dir}/Lib/site-packages/pyral/restapi.py