繁体   English   中英

无法通过 powershell 脚本删除 azure 中的测试用例

[英]not able to delete test cases in azure devops through powershell scripts

我已经检查了如何在 Azure DevOps 中删除多个测试用例

它对我不起作用。

单独使用 PowerShell 脚本,我想在 Azure DevOps 中的一个 go 中删除多个测试用例。 目前,门户网站一次只允许删除一个。

我已经尝试过以下方式,并引发异常。

$url = "https://dev.azure.com/testarulmouzhie/testDemo_Project/_apis/test/testcases/21?api-version=5.0-preview.1"
Invoke-RestMethod -Uri $url -Method Delete -ContentType application/json

它会引发如下错误- 在此处输入图像描述

即使尝试使用新的 api 版本,同样的错误来了 -

$url = "https://dev.azure.com/testarulmouzhie/testDemo_Project/_apis/test/testcases/21?api-version=5.1-preview.1"
Invoke-RestMethod -Uri $url -Method Delete -ContentType application/json

附上参考错误

Invoke-RestMethod :
Azure DevOps
Service Status Support @AzureDevOps
At line:1 char:1
+ Invoke-RestMethod -Uri $url -Method Delete -ContentType application/json
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebExc
   eption
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

任何人都可以帮助解决这个问题吗? 提前致谢。

对于参考,无论如何简单的 GET rest api 调用工作正常。 我已经尝试过以下一个,并且工作正常。

$AzureDevOpsPAT = "a2wzly2bsirXXXXXXXXXXXXXXXXXXXXXXXXXXX"
$OrganizationName = "testarulmouzhie"

$AzureDevOpsAuthenicationHeader = @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($AzureDevOpsPAT)")) }

$UriOrga = "https://dev.azure.com/$($OrganizationName)/" 
$uriAccount = $UriOrga + "_apis/projects?api-version=5.1"

Invoke-RestMethod -Uri $uriAccount -Method get -Headers $AzureDevOpsAuthenicationHeader

甚至使用 fiddler 并尝试捕获错误日志 - 也附上这些在此处输入图像描述 在此处输入图像描述

无法通过 powershell 脚本删除 azure 中的测试用例

您似乎没有使用 REST API 测试用例 - 删除的测试计划许可证。

Azure 测试计划使用名为Basic + Test Plans的访问级别,您需要 Basic + Test Plans 许可证来管理测试计划和测试套件等。请查看以下链接:

手动测试权限和访问

在此处输入图像描述

以下是确保您拥有正确许可证的两种方法。

1) 为用户分配了测试管理器扩展许可证 - https://marketplace.visualstudio.com/items?itemName=ms.vss-testmanager-web

2) 用户拥有 VS Enterprise 或 Test Professional 订阅

您可以通过访问测试中心并尝试使用与 REST API 中使用的相同用户(帐户创建 PAT)直接添加测试用例来实现此目的。

检查此线程以获取一些详细信息。

希望这可以帮助。

啊,我认为您在delete调用 API 中错过了您的 autorizationheader

请包括-Headers $AzureDevOpsAuthenicationHeader如下所示

--give below your pat access token

$AzureDevOpsPAT = "ukcvd42u5rXXXXXXXXXXXXXXXXXXX";
$AzureDevOpsAuthenicationHeader = @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($AzureDevOpsPAT)")) };
$url = "https://dev.azure.com/testarulmouzhie/testDemo_Project/_apis/test/testcases/21?api-version=5.0-preview.1"
Invoke-RestMethod -Uri $url -Method Delete -ContentType application/json -Headers $AzureDevOpsAuthenicationHeader;

正如 Leo 建议的那样,它也可能带有许可证,那么如何检查测试用例的许可证呢?

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM