gpt4 book ai didi

selenium - 在 mstest trx 输出文件中注入(inject)自定义数据

转载 作者:行者123 更新时间:2023-12-02 22:40:16 25 4
gpt4 key购买 nike

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

问题是在 Cruise Control 的 MSTest 报告页面中,我们看到了三个测试运行,但我们无法看到每个测试运行使用哪个浏览器。

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

你有更好的主意吗?

最佳答案

按照 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>

最后,我更改了 MSTest 报告的 Cruise Control xslt 转换,以在摘要标题中显示浏览器信息:

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

关于selenium - 在 mstest trx 输出文件中注入(inject)自定义数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10883527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com