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浏览器或其他完全不同的问题?
答案 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()。