当前位置: 首页 > 知识库问答 >
问题:

只能得到10次测试运行?

慕云
2023-03-14
$Api = "http://azuredepopsserver/tfs/Default/MyProject/_apis"
$testUrl = "$Api/test/runs?api-version=5.1&`$top=100"
$tests = Invoke-RestMethod $testUrl -UseDefaultCredentials
$tests
$WorkItemType = "Test Case"
$WIQL_query = "Select [System.Id], [System.Title], [System.State] From WorkItems Where [System.WorkItemType] = '$WorkItemType'"
$body = @{ query = $WIQL_query }
$bodyJson = @($body) | ConvertTo-Json

Invoke-RestMethod -Uri "$($Api)?api-version=5.1-preview" -Method Post -ContentType "application/json" -Body $bodyJson -UseDefaultCredentials

参考:https://docs.microsoft.com/en-us/rest/api/azure/devops/test/runs/list?view=azure-devops-rest-5.1#通用-示例

共有1个答案

燕禄
2023-03-14

您可以使用测试运行查询api来获得一个月的测试运行。根据api最小和最大日期最多可达7天。但是我们可以在powershell中做一个循环来让测试运行一个月。请检查下面的示例:

$mindate = [dateTime]::ParseExact("2019-09-01","yyyy-MM-dd",$null)
$maxdate = [dateTime]::ParseExact("2019-09-30","yyyy-MM-dd",$null)

$connectionToken="PAT"
$base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))

For($i = $mindate; $i -lt $maxdate; $i=$i.AddDays(7)){
   $min=$i.ToString('yyyy-MM-dd')

   if($i.AddDays(7) -gt $mdate){
       $max = $mdate.ToString('yyyy-MM-dd')
   }else{
       $max = $i.AddDays(7).ToString('yyyy-MM-dd')
   }

   $testurl = "https://dev.azure.com/ORG/PROJECT/_apis/test/runs?minLastUpdatedDate=$min&maxLastUpdatedDate=$max&api-version=5.1"

   $result4 = Invoke-RestMethod -Uri $urldate -Headers @{authorization = "Basic $base64AuthInfo"} -Method Get

   $result4
}

要获得测试用例计数,您可以使用wiql API。请检查下面的示例

$url = "https://dev.azure.com/org/proj/_apis/wit/wiql?api-version=5.1"

$WorkItemType = "Test Case"

    $WIQL_query = "Select [System.Id], [System.Title], [System.State] From WorkItems Where [System.WorkItemType] = '" + $WorkItemType + "'"
    $body = @{ query = $WIQL_query }
    $bodyJson=@($body) | ConvertTo-Json

$connectionToken="PAT"

$base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))

$result4 = Invoke-RestMethod -Uri $url -Headers @{authorization = "Basic $base64AuthInfo"} -Method Post -ContentType "application/json" -Body $bodyJson
$result4.workItems.count

希望你能发现上面的帮助。

 类似资料:
  • 单击此处查看日志 我在JUnit测试中使用以下罐子 log4j-api-2.3。jar log4j-core-2.3。jar junit-4.10。jar ojdbc6。jar openjpa-all-2.1。1.罐子 我看到那个班级了。阿帕奇。log4j。Log4j 2.3版本中不存在优先级?然后我更改了属性openjpa的值。将日志从log4j记录到持久化中的“DefaultLevel=WAR

  • 10.1 单元测试

  • 我正在我的开发箱上运行Karma/Jasmine/Angular 2.0测试。就在最近,我的开发箱上的Jasmine决定开始运行我的测试三次。是的,整整三次,每次都是。 在第一次运行时,一切都按预期通过。然而,在第二次和第三次通过时,所有相同的事情都失败了。它总是承认有7次测试,但运行21次,10次失败(一年级数学)??? 这在Travis和SauceLabs上也失败了。(注意:这链接到一个包含3

  • 我想用Jest做一个测试。 我使用

  • 我希望一个进程在我启动我的网络服务后运行,然后每隔30分钟左右运行一次(我现在用较小的延迟测试它,只是为了看看它是否工作),但是我的进程从来不会运行超过一次。我做错了什么? 这是我的密码: