编码 UI 测试中的 TestContext TestRunParameters

Jon*_*man 5 visual-studio coded-ui-tests azure-devops

按照此处此处概述的过程,我能够设置 TestRunParameter 并在运行时在单元测试中访问它。然后我在编码的 UI 测试中重复了完全相同的过程,但无法访问属性。

我的 .runsettings 文件:

<RunSettings>
  <TestRunParameters>
    <Parameter name="webAppUrl" value="http://localhost" />
  </TestRunParameters>
</RunSettings>
Run Code Online (Sandbox Code Playgroud)

我的测试方法:

[TestMethod]
public void MyTest1()
{
    // This throws an error because Properties["webAppUrl"] is null
    string webAppUrl = TestContext.Properties["webAppUrl"].ToString();

    // etc...
}
Run Code Online (Sandbox Code Playgroud)

编码 UI 测试是否需要额外配置才能访问这些运行时属性?

编辑:我注意到在单元测试的上下文中, TestContext 是Microsoft.VisualStudio.TestPlatform.MSTestFramework.TestContextImplementation. 在编码的 UI 测试中,TestContext 是Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestAdapterContext.

Vic*_*SFT 4

无法在编码 UI 测试中访问 .runsettings TestRunParameter 部分中定义的参数。当你调试Coded UI测试时,你会发现TextContext.Properties包含一些值,ResultsDirectory,AgentId等。

但是,找不到 TestRunParameter 部分中定义的参数。

在此输入图像描述

您可以创建 .cvs 或 .xml 文件,并通过数据驱动访问数据,而不是在 TestRunParameter 部分中设置参数。详细内容请查看这篇文章:

https://msdn.microsoft.com/en-us/library/ee624082.aspx