我正在尝试使用Python库pyral在CA Rally中上传测试用例,测试用例已成功上传,但无法为测试用例设置所有者

时间:2019-06-14 10:53:38

标签: python rally testcase pyral

我正在尝试使用Python库pyral在CA Rally中上传测试用例,测试用例已成功上传,但无法为测试用例设置所有者

import sys
from pyral import Rally, rallyWorkset

options = [arg for arg in sys.argv[1:] if arg.startswith('--')]
args = [arg for arg in sys.argv[1:] if arg not in options]

server, user, password, apikey, workspace, project = 
rallyWorkset(options)


rally = Rally(server='rally1.rallydev.com', 
      apikey="************************",
      workspace='***', project='*****',
      server_ping=False)
response = rally.get('UserStory', fetch = True, projectScopeDown=True, 
query = 'FormattedID = *****', instance=True)
target_project = rally.getProject()
testcase_fields = {
 "Project"     : target_project.ref,
 "WorkProduct" : response.ref,
 "Name"        : "Fifth Test Case",
 "Owner"       : "myDisplayName" or "myUserName",(Nothing Works)
 "Description" : "This is a python integration test",
 "Method"      : "Manual",
 "Type"        : "Acceptance",
 "Pre Conditions"  : "This is Pre-Condition",
 "Validation Input"  : "This is validation input",
 "Validation Expected Result"  : "This is validation expected result",
 "Post Conditions"  : "This is post condition"
}
testcase = rally.put('TestCase', testcase_fields)
print(testcase.details())

使用所有者字段时出错:

File "<ipython-input-57-c146d75c3723>", line 51, in <module>
    testcase = rally.put('TestCase', testcase_fields)

File "C:\Users\achaube2\AppData\Local\Continuum\anaconda3\lib\site-packages\pyral\restapi.py", line 1024, in put
    raise RallyRESTAPIError(problem)

RallyRESTAPIError: 422 Cannot parse object reference from "myDisplayName"

Test Case is uploaded successfully if i remove the Owner Filed in above code

3 个答案:

答案 0 :(得分:0)

我认为“用户”展示是对用户对象的引用。

答案 1 :(得分:0)

正确。

“所有者”字段是对User对象的引用。您需要使用对所有者用户对象的ObjectID的引用来设置“所有者”字段。

答案 2 :(得分:0)

您需要先获取用户对象,例如:

user_req = rally.getUserInfo(username="name@domain.com")
user = user_req[0]

然后,您可以使用它在TestCase中进行引用,例如:

"Owner"       : user.ref