使用WatiN进行测试时:“'DebuggerDisplayProxy()'抛出类型'System.InvalidCastException'的异常”

时间:2012-06-22 09:06:04

标签: watin

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

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

页面上的HTML是:

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

我已经在你看到的&#34; ...&#34;中排除了完整的Javascript代码。

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

  

&#39; DebuggerDisplayProxy()&#39;抛出了类型的例外   &#39; System.InvalidCastException&#39;

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

2 个答案:

答案 0 :(得分:2)

您可以尝试以下代码:

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

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

修改:尝试一下:

CurrentBuyerSite.Eval("ShowMenuItem('options','actions'); ...");

答案 1 :(得分:2)

你使用的是哪名选手?如果nUnit 64bit然后尝试32位或其他跑步者。

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