我们如何在 Coded UI 测试中参数化断言方法?

How can we parameterize the assertion method in Coded UI test?

如果我从 VS2013 编码的 ui 测试记录器中记录了一个资产。 断言验证诸如

现在,假设我已经 data.csv 连接并配置了解决方案。我现在要做的就是用我的 CSV 文件中的某些值替换断言 vlaue JEFF 和 60。

这是断言的后台代码

Assert.AreEqual(this.name_assertionExpectedValues.UIEierPane1HelpText, uInamePane1.HelpText, "Cant find Name text label");

你能告诉我主 CS 文件中的参数是什么样的吗?

只是为了不比较我的 CSV 文件中的预期值而不是记录的字符串。

提前致谢。

你可以这样写代码

Assert.AreEqual(TestContext.DataRow["Name"].ToString(),uInamePane1.HelpText, "Cant find Name text label");

此处 "Name" 将映射到您的数据源名称列。

UI 映射文件中记录的断言包含值,这将生成一个断言方法,因此您的断言代码应如下所示:

this.UIMap.NameOfYourAssertion();

这将断言您记录的值。 现在,当您想要更改记录的值时,您可以按如下方式更改断言的值:

this.UIMap.NameOfYourAssertionExpectedValues.UIYourEditBoxText = "your value from csv";

因此,对于每个具有名称的断言,都会有一个 属性 类型的预期。很可能是一个字符串值。通过在调用 assert 方法之前更改值,它将使用更改后的值。如果您使用测试方法上的 DataSource 属性将其添加到测试方法,则可以使用 TestContext.DataRow["Name"].ToString(); 调用从 CSV 文件中获取数据,如 MSDN 中所述:https://msdn.microsoft.com/en-us/library/ms182519.aspx