如果在 Xray 中发布执行证据并将 test.log 文件附加到证据字段,则以下 curl 命令有效:
curl -H "Content-Type: application/json" -X POST -u user:pwd --data @test.json https://jira.opentv.com/rest/raven/1.0/api/testrun/{id}/attachment
test.json 在哪里有这个,
{
"data":"VGhpcyBmaWxlIGlzIHRlc3RpbmcgZm9yIHVwbG9hZCB0byBleGVjdXRpb24gZGV0YWlscy4=",
"filename":"test.log",
"contentType":"application/json"
}
(在 json 'data' 中是 base64 编码的,仅在 xray 中支持)
但是当我尝试使用下面的 requests.post 时,它失败了。
requests.post('https://jira.opentv.com/rest/raven/1.0/api/testrun/{id}/attachment',headers = {'Content-Type':'application/json'},data={"data":"VGhpcyBmaWxlIGlzIHRlc3RpbmcgZm9yIHVwbG9hZCB0byBleGVjdXRpb24gZGV0YWlscy4=","fileName":"test.log","Content-Type":"application/json"},auth=('user', 'pwd'))
提前致谢..
curl cmd 从 linux 机器执行,python requests.post 从 windows 执行。两者都可以通过 X 射线访问。