Error at Watin.Core.Comparer StringComparer class



我在程序中使用Watin系统。

我得到以下错误:

ArgumentNullException at Watin.Core.Comparer

stringcompare (string comparisonValue, bool ignoreCase)
Error: Value Cannot be Null(comparisonValue)

但我不知道谁和何时调用stringcomparer,我也不知道如何调试它。

这是我的一些代码。

using (IE browser = new IE(url))  
            {  
                Trace.TraceInformation("success to create IE instance.");
                int waitSecond = TimeSpan.FromSeconds(30).Seconds;
                browser.WaitForComplete(waitSecond);
                .........
                .........
            }
       )

添加一些ErrorTrace

at WatiN.Core.Comparers.StringComparer..ctor(String comparisonValue, Boolean ignoreCase)
at WitiN.core.DialogHandlers.DialogWatcher.HasDialogSameProcessNameAsBrowserWindow(Window window)
at WatiN.Core.DialogHandlers.DialogWatcher.HandleWindow(Window window)
at WatiN.Core.DialogHandlers.DialogWatcher.Start()
at System.Threading.ThreadHelper.ThreadStart_Context(ojbect state)
at System.Threading.ExecutionContext.Runinternal(exceutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutinoContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutinoContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

代码按预期工作(没有抛出异常):

        using (IE browser = new IE("http://www.google.com"))
        {
            //Trace.TraceInformation("success to create IE instance.");
            int waitSecond = TimeSpan.FromSeconds(30).Seconds;
            browser.WaitForComplete(waitSecond);
        }

确保您使用的是WatiN的最新源代码,并且当时没有任何其他代码正在执行(除非您获得DialogWatcher,与您发布的代码无关)。

不知道为什么你已经使用了.WaitForComplete方法,但该方法是默认的内部调用每个方法你运行,与网页交互。如果你想为加载网页指定一个通用的等待时间,你应该使用WatiN对象的设置,像这样:

        Settings.WaitForCompleteTimeOut = 30;
        using (IE browser = new IE("http://www.google.com"))
        {
            //Trace.TraceInformation("success to create IE instance.");
            browser.WaitForComplete();
        }

相关内容

  • 没有找到相关文章

最新更新