【问题标题】:Python with JIRA XRAY integrationPython 与 JIRA XRAY 集成
【发布时间】:2019-04-11 03:45:38
【问题描述】:

我可以将 jira 包与 python 一起使用,并从 JIRA 更新或获取问题详细信息。但我想知道如何使用 python 中的 post 请求将测试执行结果导入 XRAY JIRA。我已经使用 JAVA 和 XRAY REST API 以及用于黄瓜测试的 json 文件完成了这项工作。

无法确定在 python 中进行手动测试的相同操作。请注意,要求是在 XRAY 中以使用 python 的自动化方法执行测试时将手动测试状态更新为 PASS/FAIL。

【问题讨论】:

    标签: python api automated-tests jira jira-xray


    【解决方案1】:

    这是解决方案。

    首先,使用 jira api 创建一个“测试执行”类型的新问题:

    fields_dict = {
        'project': 'AB',
        'summary': 'New execution',
        'description': 'Test execution creation via python',
        'issuetype': {'name': 'Test Execution'}
    }
    
    test_execution = jira.create_issue(fields = fields_dict)
    

    现在我们需要将测试与此测试执行相关联。对于此示例,让我们关联一个名为“AB-3”的测试。不要忘记包含此 POST 的身份验证详细信息。您可以以相同的方式关联测试集,即“AB-3”可以是单个测试或测试集。

    requests.post("https://my.jira.com/rest/raven/1.0/api/testexec/" + test_execution.key + "/test", json{"add": ["AB-3"]})
    

    这将为我们与此测试执行关联的每个测试创建一个唯一的 ID。我们将需要这个唯一的 id 来更新执行状态。

    r = requests.get("https://my.jira.com/rest/raven/1.0/api/testexec/" + test_execution.key
    
    test_id = r.json()[0]['id']
    

    如果您有多个测试,当然要使用循环。我只是订阅第一项,因为我知道我们只有一个测试。

    然后为了更新执行状态,我们做一个 PUT:

    requests.put("https://my.jira.com/rest/raven/1.0/api/testrun/" + str(test_id) + "/status?status=PASS")
    

    您可以使用“PASS”或“FAIL”等。不要忘记授权!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-15
      • 2023-01-30
      • 2011-05-02
      • 2012-01-28
      • 2012-07-22
      • 2019-06-22
      相关资源
      最近更新 更多