TFS/MTM 按套件导出测试用例 - 共享步骤和参数

本文关键字:共享 参数 测试用例 MTM 套件 TFS | 更新日期: 2023-09-27 18:33:14

所以我正在为我的组织创建一个工具,有点类似于CodePlex上的TestCaseExtractor。除了使用较新版本的 ALM 之外,我还希望导出与参数对应的共享步骤和迭代。(我不是在尝试导出结果,只是计划数据。我希望Microsoft在 API 文档方面做得更好。他们曾经做过非常棒的对象模型图。所以如果你知道这个东西的对象模型图,那么你更是我的英雄。所以这是我的方法:

private void WriteCases(ITestSuiteBase suite, Exporter exporter)
    {
        foreach (var testCase in suite.TestCases)
        {
            exporter.WriteTestCaseTitle(testCase.Id.ToString(), testCase.TestCase.Title);
            exporter.WriteTestCaseDescription(testCase.TestCase.Description);
            exporter.objWriter.WriteLine("<table border='1' width='100%>'");
            exporter.objWriter.WriteLine("<tr><th width='50%'>Step</th><th widht='50%'>Expected Result</th></tr>");
            foreach (var action in testCase.TestCase.Actions)
            {
                string strStep = "";
                string strExpectedResult = "";
                if (action is ITestStep)
                {
                    ITestStep step = action as ITestStep;
                    strStep = step.Title;
                    strExpectedResult = step.ExpectedResult;
                }
                // TODO: Come back to this. Need shared steps fer sure.
                //else if (action is ISharedStepReference)
                //{
                //    ISharedStepReference sharedStep = action as ISharedStepReference;
                //    ISharedStep oldShareStep = sharedStep.FindSharedStep();
                //    foreach (var testAction in oldShareStep.Actions)
                //    {
                //    }
                //}
                exporter.objWriter.WriteLine("<tr><td>" + strStep + "</td><td>" + strExpectedResult + "</td></tr>");
            }

您可以看到注释的代码,我认为我已经开始共享步骤。但是我看不到任何属性或任何用于进入步骤和实际结果的内容。所以我错过了一些东西。

我不知道如何在测试用例中获取参数的迭代。任何帮助,不胜感激。谢谢!

TFS/MTM 按套件导出测试用例 - 共享步骤和参数

我最终弄清楚了。

https://social.msdn.microsoft.com/Forums/en-US/5356287d-2bf4-42c4-b28b-a19c5fcf94f8/tfs-mtm-extensibility-object-model-cannot-find-object-model-reference?forum=vsmantest

这适用于将来可能希望这样做的任何其他人。