1
FrameworkActionsLink = CurrentBuyerSite.BuyerWorkAreaFrame.Link(Find.ById("actions"));

我有通过 ID 查找来查找链接元素的代码。

页面上的 HTML 是:

<a id="actions" href="Javascript:ShowMenuItem('options','actions'); ... >

我已在您看到“...”的 href 中排除了完整的 Javascript 代码。

在测试执行时,有时此代码可以正常工作,但有时我会收到以下错误:

“DebuggerDisplayProxy()”引发了“System.InvalidCastException”类型的异常

这是一段非常简单的代码,我只是想知道是否有人遇到过类似的问题或错误消息。您认为这是 WatiN 工具、Web 应用程序、互联网浏览器的问题,还是完全是其他问题?

4

2 回答 2

2

你用的是什么跑步者?如果 nUnit 64bit 然后尝试 32bit 或其他运行器。

也许问题是该页面没有完全下载并且导致javascript函数出现问题,请尝试将Click()替换为ClickNoWait()。

于 2012-07-10T18:17:36.057 回答
2

你可以试试下面的代码:

FrameworkActionsLink = (WatiN.Core.Link)CurrentBuyerSite.BuyerWorkAreaFrame.Link(Find.ById("actions"));

我很确定它不喜欢链接JavaScript:...

编辑:试试这个:

CurrentBuyerSite.Eval("ShowMenuItem('options','actions'); ...");
于 2012-06-26T11:14:09.590 回答