我们正在构建一种方法,将测试套件的执行指标自动更新到VSTS服务器上。在浏览了VSTS的REST应用编程接口文档后,我们能够使用这些自动应用编程接口完成以下操作
现在可以更新测试用例是通过、失败还是任何其他可用结果。但我们正在寻找一种自动化的方法,通过这种方法,我们可以更新每个测试用例中每个测试步骤的状态,以通过、失败或任何其他可用结果。
希望我已经以更容易理解的方式解释了我们的痛苦领域。
请回复您的建议。
提前谢谢。
VSTS测试用例中列出的测试步骤仍然属于测试结果。
如果您得到一个带有参数“细节包含=迭代”的测试结果,您将看到有“动作结果”来确定测试步骤的结果:
Get https://xxx.visualstudio.com/TestCase/_apis/test/runs/xx/results/xx?api-version=3.0-preview&detailsToInclude=Iterations
但我尝试过用REST api更新测试结果来更新“actionResults”以进行测试运行,发现它不支持更新“actionResults”。rest api无法满足您的要求。
代替REST api,您可以使用客户机api,如本例所述:如何以编程方式向VST/TFS的testcase中的每个测试步骤添加/更新单个结果
简单示例:
int testpointid = 176;
var u = new Uri("https://[account].visualstudio.com");
VssCredentials c = new VssCredentials(new Microsoft.VisualStudio.Services.Common.VssBasicCredential(string.Empty, "[pat]"));
TfsTeamProjectCollection _tfs = new TfsTeamProjectCollection(u, c);
ITestManagementService test_service = (ITestManagementService)_tfs.GetService(typeof(ITestManagementService));
ITestManagementTeamProject _testproject = test_service.GetTeamProject("scrum2015");
ITestPlan _plan = _testproject.TestPlans.Find(115);
ITestRun testRun = _plan.CreateTestRun(false);
testRun.Title = "apiTest";
ITestPoint point = _plan.FindTestPoint(testpointid);
testRun.AddTestPoint(point, test_service.AuthorizedIdentity);
testRun.Save();
testRun.Refresh();
ITestCaseResultCollection results = testRun.QueryResults();
ITestIterationResult iterationResult;
foreach (ITestCaseResult result in results)
{
iterationResult = result.CreateIteration(1);
foreach (Microsoft.TeamFoundation.TestManagement.Client.ITestStep testStep in result.GetTestCase().Actions)
{
ITestStepResult stepResult = iterationResult.CreateStepResult(testStep.Id);
stepResult.Outcome = Microsoft.TeamFoundation.TestManagement.Client.TestOutcome.Passed; //you can assign different states here
iterationResult.Actions.Add(stepResult);
}
iterationResult.Outcome = Microsoft.TeamFoundation.TestManagement.Client.TestOutcome.Passed;
result.Iterations.Add(iterationResult);
result.Outcome = Microsoft.TeamFoundation.TestManagement.Client.TestOutcome.Passed;
result.State = TestResultState.Completed;
result.Save(true);
}
testRun.State = Microsoft.TeamFoundation.TestManagement.Client.TestRunState.Completed;
results.Save(true);
本文向大家介绍如何从TestNG中的测试用例集合中合并和删除测试方法?,包括了如何从TestNG中的测试用例集合中合并和删除测试方法?的使用技巧和注意事项,需要的朋友参考一下 我们可以借助testng xml文件中的<groups>标记从执行中合并和删除测试方法。 示例 Testng xml文件。 testNG xml具有要包含的Smoke组和要从执行中排除的CodingModule组。 示例 在
问题内容: 有没有办法动态创建测试用例?我尝试了以下方法。 ..可以正确创建所有方法(它们显示在并且可以调用),但是unittest的测试检测器也不执行(“ Ran 0 tests in …”) 由于我可能会问错问题-我想实现的目标是: 我有一个文件,其中包含测试数据,输入文件名列表和预期数据(在上述代码中简化为),存储在Python字典中。例如,键是类别,值是测试用例的列表。 目前,我只是遍历所
我有一个,它有几个不同的查询来更新表。这些方法没有使用注释,因为事务是在服务级别上进行的。 我想测试这些存储库。我创建了一个用注释的测试类,但是当调用存储库方法时,它们会失败: 如果我用注释每个存储库方法,它会修复错误,但我不想更改主代码库。我应该能够在测试中创建事务。 我已经创建了一些示例代码来展示我所拥有的一般结构。 存储库 测验 例外 将测试注释为“@Transactional”不应该解决这
假设我有一个测试来断言系统中新用户的注册是否真的成功: 现在,这将在实际数据库中创建一个新的测试用户,因为我希望这个测试在实际环境中运行。这意味着测试不能一直运行,对吗?我应该如何进行此类测试?那些使用系统的实际环境并操纵真实数据的人?
我正在使用Jenkins作业DSL创建我的作业,并使用和测试我的脚本。 基于Gradle示例,我能够成功安装新的插件,但如何更新已经安装的插件? 我尝试使用UpdateCenter,但即使使用,我也无法强制测试等待更新过程。
问题内容: 我想知道这个测试问题。我自己准备了示例并进行了测试,但是我仍然不确定答案。 具有以下内容: 据我所知,答案是: 一个。 创建两个表 虽然也有: b。 如果删除表foo2中foo_id为2的行,则表foo中id = 2的行将被自动删除 d。如果删除表foo中id = 2的行,则删除表foo2中所有foo_id = 2的行 在我的示例中,我将使用delete语法: 由于某种原因,我似乎找不