编码ui params方法不起作用

时间:2013-07-25 12:04:20

标签: coded-ui-tests

我正在尝试使用Microsoft的编码用户界面自动输入html页面上的值。当我使用普通方法(即通过动作记录得到的硬编码值)时,一切正常但如果我使用params方法并将其传递给显式值则根本不起作用;更糟糕的是,此时测试并未失败,它似乎只是跳过了那一步。 我希望当我设置测试的数据驱动方面时,有人可以让我知道我缺少的东西(如果有的话),或者我还可以尝试其他东西。谢谢 埃里克

以下是测试本身的数据连接字符串         [DeploymentItem(“PFChecks \ Data \ Company.xml”),DataSource(“Microsoft.VisualStudio.TestTools.DataSource.XML”,“| DataDirectory | \ Company.xml”,“Iteration”,DataAccessMethod.Sequential),TestMethod] < / p>

和尝试使用params方法设置字段值的代码行。             usEnterSSN.methodUserSyncEnterSSNParams.UISsnoEditText =“012831444”;

此方法中只有一个对象是UISsnoEditText对象。对象名称在UI Map中是正确的,并且与网页本身的名称相匹配。如果我明确设置值(如上所述)或者我使用TestContext.DataRow方法,则params方法无法工作。 欢迎任何想法,如果我能提供任何进一步的信息来帮助回答这个问题,请告诉我。 谢谢 埃里克

2 个答案:

答案 0 :(得分:0)

我能想到的有两件事。

  1. 您是否在编辑之前将代码移动到UIMap.cs文件,然后从那里开始工作? 如果不是,你应该这样做。

  2. 尝试从UIMap.uitest文件中删除某些搜索属性和过滤器属性。

  3. 如果这没有帮助,我需要更多信息,甚至可能需要屏幕上限。

答案 1 :(得分:0)

发生了三件事。

(1)上面的作业是否在正确的位置? uimap...xxxParams.yyyEdit = ...;应该在调用使用它的方法之前。

(2)您可以使用Visual Studio调试器设置断点并逐步执行Coded UI测试。 (您需要右键单击codeduitest.cs文件并选择调试测试

(3)从澄清问题的评论中。您需要同时进行分配和呼叫。所以一般形式是uimap...xxxParams.yyyEdit = ...; uimap...xxx();。方法调用从...Params读取值,默认值是记录测试时输入的值。该分配将覆盖...Params项的默认值。

关于从http://blogs.msdn.com/b/mathew_aniyan/archive/2010/02/11/content-index-for-coded-ui-test.aspx链接的数据驱动测试以及关于编码UI测试的许多其他项目,有一些很好的讨论。