单击链接时,编码的UI测试记录无法正常工作

时间:2015-02-17 12:07:08

标签: c# visual-studio coded-ui-tests

我通过记录操作使用Coded UI Test的代码生成器,我遇到了一个问题和一些问题:

问题

我遇到的问题是我正在尝试录制测试。我转到主页并单击链接。问题是这个特定的链接" 崩溃"视觉工作室。每当我使用IE点击它时,它会停止工作一段时间,然后几秒钟后,录音机会打印出这条消息:Last mouse action was not recorded

当我没有录制时,此链接有效,并且录制适用于Chrome。但是,当我使用IE记录时,它并不存在。我意识到这个链接有些不同,它在源代码上看起来像这样:

...
<a href="/login"></a>
...

其他链接在<a>标记内有内容。这是什么原因?为什么不录音时才有效?录音时不能录音?

[我在使用Visual Studio 2013的Windows 2008上]

问题

  1. 我应该如何使用这些编码的UI测试?每个功能一个CodedUITest.cs或一个文件中的几个相关测试?

  2. 是否可以传递browser作为参数(即IExplorer,Chrome),以便可以在该浏览器中运行测试?我可以通过以下方式在不同的浏览器中使用相同的代码运行测试:

    ...

    BrowserWindow.CurrentBrowser = "Chrome";

    UIMap.CheckMainPage();

    ...

    我要问的是,是否有办法运行像CheckMainPage("Chrome")这样的测试,而不是写一个新方法。

1 个答案:

答案 0 :(得分:0)

由于encodeui测试方法无法获取参数,因此您可以使用两个选项来设置所需的浏览器:

  1. 使用数据驱动测试 - 这会为您数据中的每一行多次测试:https://msdn.microsoft.com/en-us/library/ee624082.aspx

  2. 从配置文件中读取值(这样您就可以在不更改代码的情况下更改浏览器)

  3. 据我所知,录音机只适用于IE,但测试可以在不同的浏览器上运行。 (参见MSDN的附件链接)

    https://msdn.microsoft.com/en-us/library/jj835758.aspx

    为什么记录器在该特定链路上失败 - 需要更多信息 - 但是缺少任何唯一标识符可能会阻止记录器进行操作并识别链接(如果可能的话,在标签上添加Id属性并重试)