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())

これは、テキスト ファイルでは問題なく機能しますが、バイナリ ファイルでは機能しません。

一時的な解決策は、ファイルをバイナリとして読み取ることによって の関数にパッチaddAttachmentを適用することです。これは、テキスト ファイルに対しても同様に機能します。restapi.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 に答える