0

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

这是来自测试本身的数据连接字符串 [DeploymentItem("PFChecks\Data\Company.xml"), DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\Company.xml", "Iteration ", DataAccessMethod.Sequential), TestMethod]

以及尝试使用 params 方法设置字段值的代码行。usEnterSSN.methodUserSyncEnterSNSParams.UISsnoEditText = "012831444";

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

4

2 回答 2

0

我能想到两件事。

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

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

如果这没有帮助,我需要更多信息,甚至可能是屏幕截图。

于 2013-07-25T15:16:52.173 回答
0

发生三件事。

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

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

(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 测试的项目。

于 2013-07-25T16:02:11.363 回答