1

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

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

但是,图片不显示:

图像不正确

当我从附件中下载图片时,它是一张 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 有问题吗?

4

1 回答 1

2

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

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

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

一个临时解决方案是通过将文件读取为二进制文件来修补功能addAttachmentrestapi.pyopen(filename, 'rb')也适用于文本文件。

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

之后对我来说效果很好: 正确导入图片

注意:在我的电脑 (Windows) 上,该文件restapi.py位于:

{Python 安装目录} /Lib/site-packages/pyral/restapi.py

于 2016-06-24T05:34:08.137 回答