使用Pyral将图片添加到Rally工件

时间:2016-06-24 05:34:08

标签: python rally pyral

我一直在尝试使用Pyral在Rally的测试用例中添加图片。

我能够成功添加附件和图片链接。

但是,图片不会显示:

Incorrect image

当我从附件下载图片时,它是1 kB图片(虽然它应该是37 kB)并且无法打开。

我正在使用以下代码 代码

    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中出现了问题吗?

1 个答案:

答案 0 :(得分:2)

问题来自Rest API从文件中读取内容的方式

#extract from function addAttachment in file 'restapi.py'
with open(filename, 'r') as af:
    contents = base64.b64encode(af.read())

这适用于文本文件,但不适用于二进制文件。

临时解决方案是通过将文件读取为二进制addAttachment来修补restapi.py的函数open(filename, 'rb'),这对于文本文件也可以。

with open(filename, 'rb') as af:
    contents = base64.b64encode(af.read())

之后对我来说这很好用: Correct import of picture

注意:在我的计算机(Windows)上,可以在以下位置找到文件restapi.py

  

{Python Install dir} /Lib/site-packages/pyral/restapi.py