1

作为一组编码 UI 测试的一部分,单击菜单。但是,菜单(使用 Javascript)无法加载菜单选项。当我手动运行测试时,菜单工作正常。如果我在测试运行时刷新页面(或重新启动浏览器),则会加载菜单选项。

但更奇怪的是这只发生在远程测试环境中。当我在自己的机器上本地运行测试时,即使 Coded UI 测试正在执行测试,菜单也会起作用。

为什么菜单无法加载对我来说完全没有意义。编码的 UI 测试是否会阻止 Javascript 执行(以加载菜单选项)?但是为什么刷新页面时它会起作用?

比较我自己的环境和测试环境 - 我看不出有什么不同。我正在测试完全相同的 Web 应用程序(URL 指向同一个 Web 服务器)。这是相同版本的 Internet Explorer,所有设置都相同,我可以看到。同样的操作系统(Windows 7)。

有任何想法吗?

需要注意的一点是,测试在 IE7 文档模式下运行良好 - 尽管此处的 Javascript 行为可能会有所不同。目前,我在 IE9 文档模式下针对 Web 应用程序运行测试。将文档模式更改为 Quirks 模式也允许测试在某些情况下工作,但仅限于少数测试。

4

2 回答 2

1

I've figured out the reason for this is that I have been recording tests in IE9 Compatibility Mode and under IE9 Document Mode. IE9 Document mode is not supported for action recordings with VS2010.

However, even if I switch the document mode to IE8 Document Mode during test playback on the remote environment, browser dialogs fail.

Therefore, there is no real solution to this problem.

Furthermore, I would thus contest Microsoft's claim that coded UI tests are compatible with IE9 (even with VS2010 SP1) for this reason.

So I'm left with no choice but to wait until VS2012 Coded UI test tools (which offer full support for IE9, supposedly) before I can test any web pages which have browser dialogs or JavaScript menus.

于 2012-08-22T17:37:06.157 回答
0

我遇到了类似的问题——当测试代理运行的编码 UI 测试试图操纵它时,我页面上的一些高级 javascript 就会失败(VS2010,IE9 标准)。

当切换到兼容模式(IE9 兼容/IE7 文档模式)时,我们刚刚解决了一个不同的问题 - 控件的内部文本发生了显着变化,这破坏了我们的搜索/过滤器属性。

更新了这些属性,测试现在可以在 VM 上的兼容模式或我机器上的 IE9 标准下正常工作。

于 2012-09-24T21:25:42.987 回答