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