Selenium 在mstest trx输出文件中插入自定义数据

Selenium 在mstest trx输出文件中插入自定义数据,selenium,cruisecontrol.net,mstest,Selenium,Cruisecontrol.net,Mstest,在我们的巡航控制构建中,我们为3个浏览器运行了一套Selenium测试。为此,我们通过MSTest运行相同的测试套件,但在每次运行之间更改app.config文件以设置要使用的浏览器 问题在于,在巡航控制系统的MSTest报告页面中,我们看到了三次测试运行,但无法看到每次测试运行使用的浏览器 理想情况下,我想做一些事情,比如将浏览器的名称作为参数传递给MSTest,以便它将其写入trx文件,但我认为这没有任何可能性。我考虑的唯一一件事是为trx文件指定一个指定的输出名称,然后使用Powershe

在我们的巡航控制构建中,我们为3个浏览器运行了一套Selenium测试。为此,我们通过MSTest运行相同的测试套件,但在每次运行之间更改app.config文件以设置要使用的浏览器

问题在于,在巡航控制系统的MSTest报告页面中,我们看到了三次测试运行,但无法看到每次测试运行使用的浏览器

理想情况下,我想做一些事情,比如将浏览器的名称作为参数传递给MSTest,以便它将其写入trx文件,但我认为这没有任何可能性。我考虑的唯一一件事是为trx文件指定一个指定的输出名称,然后使用Powershell脚本更改该文件中的xml


你有更好的主意吗?

这里有一些帖子可以帮助你:

我没有试过,但它们听起来像是你要找的东西

编辑: 就在这种情况下,上面的链接有一天会断开:

将自定义数据添加到trx结果文件 您可以将TestProperty属性添加到TestMethod,它将显示在您的trx文件中

谢谢

阿努伊

标记为singhhome的答案2010年8月20日星期五下午2:34 2010年8月20日星期五上午5:53

添加额外的测试结果信息。 要在TRX文件中添加一个额外的文件-您可以在TestContext中为每个测试提供的以下方法的帮助下添加该文件

TestContext.AddResultFile(文件路径) 其中filePath是要添加到测试结果文件中的文件的路径

要在测试运行期间获取TestResult文件名,可以使用以下属性获取

TestContext.TestRunDirectory 它将为您提供存储测试运行日志的目录名以及完整路径。对于测试运行,目录名和trx文件名将是相同的,因此,如果将此字符串与.trx连接,则可以很好地访问测试结果文件

下面是一个示例代码段

由Deepak.Singhal[MSFT]微软员工于2010年2月10日星期三下午1:32提出回答 2010年2月10日,星期三下午1:52分


按照Elena的建议,我查看了MSTest中的TestContext对象。最后,我在测试套件中创建了一个特定的单元测试,将浏览器名称添加到trx文件中,如下所示:

[TestClass]
public class ConfigurationTests
{
    public TestContext TestContext { get; set; }

    [TestMethod]
    public void DisplayBrowserUsedForSeleniumTests()
    {
        string browserName = ConfigurationManager.AppSettings["DriverName"];
        TestContext.WriteLine("for {0} browser.", browserName);
    }
}
在我的输出trx文件中,我现在有如下内容:

<UnitTestResult testName="DisplayBrowserUsedForSeleniumTests">
  <Output>
    <TextMessages>
      <Message>for Firefox browser</Message>
    </TextMessages>
  </Output>
</UnitTestResult>

用于Firefox浏览器
最后,我更改了MSTest报告的巡航控制xslt转换,以在摘要标题中显示浏览器信息:

   <h2>Summary <xsl:value-of select="*[local-name()='Results']/*[local-name()='UnitTestResult'][@testName='DisplayBrowserUsedForSeleniumTests']"/></h2>
摘要

我在下面发布了问题的完整答案以供参考,但您的答案帮助我找到了所需的缺失部分。这些链接已断开:(@iOne)这两个链接对我仍然非常有效。我刚刚通过链接文章提供的内容扩展了我的原始答案。
<UnitTestResult testName="DisplayBrowserUsedForSeleniumTests">
  <Output>
    <TextMessages>
      <Message>for Firefox browser</Message>
    </TextMessages>
  </Output>
</UnitTestResult>
   <h2>Summary <xsl:value-of select="*[local-name()='Results']/*[local-name()='UnitTestResult'][@testName='DisplayBrowserUsedForSeleniumTests']"/></h2>