编码 UI 测试中的 TestContext TestRunParameters
TestContext TestRunParameters in Coded UI Test
按照程序概述 here and here 我能够在 Unit 测试中设置 TestRunParameter 并在 运行 时间访问它。然后,我在编码 UI 测试中重复了完全相同的过程,但无法访问属性。
我的.运行设置文件:
<RunSettings>
<TestRunParameters>
<Parameter name="webAppUrl" value="http://localhost" />
</TestRunParameters>
</RunSettings>
我的测试方法:
[TestMethod]
public void MyTest1()
{
// This throws an error because Properties["webAppUrl"] is null
string webAppUrl = TestContext.Properties["webAppUrl"].ToString();
// etc...
}
编码 UI 测试是否需要额外配置才能访问这些 运行 时间属性?
编辑:
我注意到在单元测试的上下文中,TestContext 是 Microsoft.VisualStudio.TestPlatform.MSTestFramework.TestContextImplementation
。在 Coded UI 测试中,TestContext 是 Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestAdapterContext
.
尝试在 ClassInitialize 中使用它代替测试方法参考下面的代码
[ClassInitialize]
public static void TestClassinitialize(TestContext context)
{
var webAppUrl = context.Properties["webAppUrl"].ToString();
}
.runsettings TestRunParameter 部分中定义的参数无法在编码 UI 测试中访问。在调试 Coded UI 测试时,您会发现 TextContext.Properties 包含一些值,ResultsDirectory,AgentId 等
但是,无法找到 TestRunParameter 部分中定义的参数。
您可以创建 .cvs 或 .xml 文件,并通过数据驱动访问数据,而不是在 TestRunParameter 部分设置参数。详情查看这篇文章:
按照程序概述 here and here 我能够在 Unit 测试中设置 TestRunParameter 并在 运行 时间访问它。然后,我在编码 UI 测试中重复了完全相同的过程,但无法访问属性。
我的.运行设置文件:
<RunSettings>
<TestRunParameters>
<Parameter name="webAppUrl" value="http://localhost" />
</TestRunParameters>
</RunSettings>
我的测试方法:
[TestMethod]
public void MyTest1()
{
// This throws an error because Properties["webAppUrl"] is null
string webAppUrl = TestContext.Properties["webAppUrl"].ToString();
// etc...
}
编码 UI 测试是否需要额外配置才能访问这些 运行 时间属性?
编辑:
我注意到在单元测试的上下文中,TestContext 是 Microsoft.VisualStudio.TestPlatform.MSTestFramework.TestContextImplementation
。在 Coded UI 测试中,TestContext 是 Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestAdapterContext
.
尝试在 ClassInitialize 中使用它代替测试方法参考下面的代码
[ClassInitialize]
public static void TestClassinitialize(TestContext context)
{
var webAppUrl = context.Properties["webAppUrl"].ToString();
}
.runsettings TestRunParameter 部分中定义的参数无法在编码 UI 测试中访问。在调试 Coded UI 测试时,您会发现 TextContext.Properties 包含一些值,ResultsDirectory,AgentId 等
但是,无法找到 TestRunParameter 部分中定义的参数。
您可以创建 .cvs 或 .xml 文件,并通过数据驱动访问数据,而不是在 TestRunParameter 部分设置参数。详情查看这篇文章: