簡體   English   中英

如何使用Rest API在測試案例工作項中添加測試步驟-TFS2018 / Python

[英]How to add test steps in a test case work item using Rest API - TFS2018 / Python

我正在使用Microsoft的TFS 2018,並且已經開始在Visual Studio 2018中使用Python 3.7編寫一些Selenium測試用例

我已經設法使用TFS的REST API返回我的TFS項目並創建新的測試用例。

我找不到的是如何使用此API來傳遞此測試用例的所有測試步驟的列表。 我不確定如何以及是否可以將它們作為字符串或數組添加到請求的正文中。

目前,我試圖首先在Postman上進行這項工作,然后再嘗試在python中進行嘗試。

這是請求:

curl -X POST \
  'https://TFSLINK:443/DefaultCollection/TFS/_apis/wit/workitems/$Test%20Case?api-version=4.1' \
  -H 'Authorization: Basic MYKEY' \
  -H 'Content-Type: application/json-patch+json' \
  -H 'cache-control: no-cache' \
  -d '[
  {
    "op": "add",
    "path": "/fields/System.Title",
    "from": null,
    "value": "Sample task 2"
  }
]'

有沒有辦法增加步驟? API沒有提及任何內容。

在創建測試用例后,在響應中得到了一個名為“字段”的部分,該部分應包括步驟,但在響應中看不到它們。

{
    "id": 731,
    "rev": 1,
    "fields": {
        "System.AreaPath": "TFS",
        "System.TeamProject": "TFS",
        "System.IterationPath": "TFS",
        "System.WorkItemType": "Test Case",
        "System.State": "Design",
        "System.Reason": "New",
        "System.AssignedTo": "Marialena <TFS\\marialena>",
        "System.CreatedDate": "2019-01-09T08:00:50.51Z",
        "System.CreatedBy": "Marialena <TFS\\marialena>",
        "System.ChangedDate": "2019-01-09T08:00:50.51Z",
        "System.ChangedBy": "Marialena <TFS\\marialena>",
        "System.Title": "Sample task 2",
        "Microsoft.VSTS.Common.StateChangeDate": "2019-01-09T08:00:50.51Z",
        "Microsoft.VSTS.Common.ActivatedDate": "2019-01-09T08:00:50.51Z",
        "Microsoft.VSTS.Common.ActivatedBy": "Marialena <TFS\\marialena>",
        "Microsoft.VSTS.Common.Priority": 2,
        "Microsoft.VSTS.TCM.AutomationStatus": "Not Automated"
    },
    "_links": {
        "self": {
            "href": "https://TFSLINK/DefaultCollection/_apis/wit/workItems/731"
        },
        "workItemUpdates": {
            "href": "https://TFSLINK/DefaultCollection/_apis/wit/workItems/731/updates"
        },
        "workItemRevisions": {
            "href": "https://TFSLINK/DefaultCollection/_apis/wit/workItems/731/revisions"
        },
        "workItemHistory": {
            "href": "https://TFSLINK/DefaultCollection/_apis/wit/workItems/731/history"
        },
        "html": {
            "href": "https://TFSLINK/web/wi.aspx?pcguid=07b658c4-97e5-416f-b32d-3dd48d7f56cc&id=731"
        },
        "workItemType": {
            "href": "https://TFSLINK/DefaultCollection/18ca0a74-cf78-45bf-b163-d8dd4345b418/_apis/wit/workItemTypes/Test%20Case"
        },
        "fields": {
            "href": "https://TFSLINK/DefaultCollection/_apis/wit/fields"
        }
    },
    "url": "https://TFSLINK/DefaultCollection/_apis/wit/workItems/731"
}

我嘗試創建此PATCH請求以更新步驟,但沒有成功

curl -X PATCH \
  'https://TFSLINK:443/DefaultCollection/TFS/_apis/wit/workItems/730?api-version=4.1' \
  -H 'Authorization: Basic MYKEY' \
  -H 'Content-Type: application/json-patch+json' 
  -d '[
  {
    "op": "add",
    "path": "/fields/Microsoft.VSTS.TCM.Steps",
    "from": null,
    "value": "Test"
  },
  {
    "op": "add",
    "path": "/fields/Steps",
    "from": null,
    "value": "Test"
  }
]'

也許這是另一個主題,但是如果可以實現上述要求,那么在運行測試並更新測試計划之后是否還可以通過結果? 如果這與您無關,請僅通過測試步驟幫助我,而忽略此問題。

非常感謝。

這是在帶有Rest API的測試用例中添加測試步驟的方法:

{ 
    "op": "add", 
    "path": "/fields/Microsoft.VSTS.TCM.Steps",
    "value": "<steps id=\"0\" last=\"1\"><step id=\"2\" type=\"ValidateStep\"><parameterizedString isformatted=\"true\">Input step 1</parameterizedString><parameterizedString isformatted=\"true\">Expectation step 1</parameterizedString><description/></step></steps>"  
} 

幾個步驟(此示例中為3):

{ 
    "op": "add", 
    "path": "/fields/Microsoft.VSTS.TCM.Steps",
    "value": "<steps id=\"0\" last=\"4\"><step id=\"2\" type=\"ValidateStep\"><parameterizedString isformatted=\"true\"><P>step 1 \"Action\"</P></parameterizedString><parameterizedString isformatted=\"true\"><P>step 1 \"Expected\"<BR/></P></parameterizedString><description/></step><step id=\"3\" type=\"ValidateStep\"><parameterizedString isformatted=\"true\"><P>step 2 \"Action\"<BR/></P></parameterizedString><parameterizedString isformatted=\"true\"><P>step 2 \"Expected\"<BR/></P></parameterizedString><description/></step><step id=\"4\" type=\"ValidateStep\"><parameterizedString isformatted=\"true\"><P>step 3 \"Action\"<BR/></P></parameterizedString><parameterizedString isformatted=\"true\"><P>step 3 \"Expected\"<BR/></P></parameterizedString><description/></step></steps>"  
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM