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



如果我已经记录了VS2013编码ui测试记录器的评估。断言验证如下内容:

  • name Field包含"Jeff"作为name
  • 年龄栏是否为"60"

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

这是断言 的后台代码

Assert.AreEqual (this.name_assertionExpectedValues.UIEierPane1HelpText uInamePane1。帮助文本,"找不到名称文本标签");

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

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

可以编写如下代码

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

这里的"Name"将映射到您的数据源名称列。

UI Map文件中记录的断言包含这些值,这将生成一个断言方法,因此您的断言代码应该看起来像这样:

this.UIMap.NameOfYourAssertion();

这将对您记录的值进行断言。现在,当您想要更改所记录的值时,您可以更改断言的值,如下所示:

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

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

最新更新