1

前言:

如果您不关心前言,请跳到标有“问题”的部分。

你好,

最近我公司的测试自动化框架升级到了最新版本的WatiN。我们升级以避免与选择列表交互会导致 ACCSES DENIED 错误的问题。此错误似乎是由于我们的 Web 应用程序在选择某些选择列表选项后使用新字段重新加载它所在的页面(位于框架集中的框架中)。也可能是我们的框架围绕 WatiN,经常在页面刷新后对同一个 SelectList 执行操作(我仍在研究这个,我是框架的新手)。

新版本的 WatiN 确实解决了 ACCESS DENIED 错误,但似乎也阻止了选择列表触发导致页面使用其新选项重新加载的操作。事实上,如果你使用WatiN进行选择,即使手动交互,选择列表也不会正常工作,直到页面被强制刷新。

问题:

当使用最新的 WatiN 代码在 SelectList 中选择一个选项时,导致我们的 Web 应用程序页面重新加载新字段/值的事件不会执行。有哪些可能会导致这种情况?

我见过的最常用于描述使用我们的选择列表时发生的刷新的术语是“双重回发”。

非常感谢,乍得

4

1 回答 1

2

这是新的 WatiN 代码的一部分。新代码,如果您查看 SelectList 类,会注释它已被更改的事实,因此这些事件不会完全触发。它说的内容类似于“您可能需要使用按键或其他事件来获取选择列表以触发其事件”。

这对我不起作用,所以我们回到旧代码。

有帮助的一件事是使用 try/catch(System.UnauthorizedAccess e) 包装对选择列表的调用,然后对选择列表对象执行 .Refresh。之后,可以重试该呼叫,并且它似乎工作得很好。

于 2010-04-26T23:33:00.010 回答