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

时间:2015-07-28 12:23:03

标签: csv automated-tests parameter-passing coded-ui-tests assertion

如果我从VS2013编码的ui测试记录器中记录了一个声明。 断言验证类似的事情,

  • 名称字段包含" Jeff"作为名称
  • 他的年龄是" 60"在年龄领域与否

现在,让我们说我已经有一个data.csv已连接并配置为解决方案。我现在要做的就是从我的CSV文件中的某些值替换断言值JEFF和60.

这是断言背景中的代码

Assert.AreEqual(this.name_assertionExpectedValues.UIEierPane1HelpText,uInamePane1.HelpText,"找不到姓名文字标签");

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

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

提前致谢。

2 个答案:

答案 0 :(得分:1)

您可以编写如下代码

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

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

答案 1 :(得分:0)

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

this.UIMap.NameOfYourAssertion();

这将声明您录制的值。 现在,当您想要更改所记录内容的值时,请更改断言的值,如下所示:

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

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

相关问题