我们如何在 Coded UI 测试中参数化断言方法?
How can we parameterize the assertion method in Coded UI test?
如果我从 VS2013 编码的 ui 测试记录器中记录了一个资产。
断言验证诸如
- 名称字段包含 "Jeff" 作为名称
- 他的年龄字段是否为“60”
现在,假设我已经 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
如果我从 VS2013 编码的 ui 测试记录器中记录了一个资产。 断言验证诸如
- 名称字段包含 "Jeff" 作为名称
- 他的年龄字段是否为“60”
现在,假设我已经 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