एक सतत एकीकरण निर्माण प्रक्रिया के हिस्से के रूप में चलने वाला एक WatiN चरण अंततः ब्राउज़र उदाहरण से अटैचमेंट करने का प्रयास करते समय विफल रहा है। वर्तमान में लगभग 5 में से 1 बार।ब्राउज़र। एटैच <T>() इंटरमीटेंट अपवाद का कारण बनता है "इंटरनेट एक्सप्लोरर व्यस्त होने पर टाइमआउट"
यानी:
WatiN.Core.Exceptions.TimeoutException: Timeout while Internet Explorer busy
at WatiN.Core.UtilityClasses.TryFuncUntilTimeOut.ThrowTimeOutException(Exception lastException, String message)
at WatiN.Core.UtilityClasses.TryFuncUntilTimeOut.HandleTimeOut()
at WatiN.Core.UtilityClasses.TryFuncUntilTimeOut.Try[T](DoFunc`1 func)
at WatiN.Core.WaitForCompleteBase.WaitUntil(DoFunc`1 waitWhile, BuildTimeOutExceptionMessage exceptionMessage)
at WatiN.Core.Native.InternetExplorer.IEWaitForComplete.WaitUntilNotNull(DoFunc`1 func, BuildTimeOutExceptionMessage exceptionMessage)
at WatiN.Core.Native.InternetExplorer.IEWaitForComplete.WaitWhileIEBusy(IWebBrowser2 ie)
at WatiN.Core.Native.InternetExplorer.IEWaitForComplete.WaitForCompleteOrTimeout()
at WatiN.Core.WaitForCompleteBase.DoWait()
at WatiN.Core.Native.InternetExplorer.AttachToIeHelper.FinishInitializationAndWaitForComplete(IE ie, SimpleTimer timer, Boolean waitForComplete)
at WatiN.Core.Native.InternetExplorer.AttachToIeHelper.Find(Constraint findBy, Int32 timeout, Boolean waitForComplete)
at WatiN.Core.Browser.AttachTo[T](Constraint constraint)
मैं सभी स्पष्ट बातें जो पिछले पोस्ट में सुझाव दिया गया है किया है:
Browser.AttachTo<IE>(Find.ByTitle("Title of Popup"));
निम्नलिखित त्रुटि के साथ
Process.GetProcessesByName("IEXPLORE").ToList().ForEach(p => p.Kill());
किसी भी Watin चरणों चलाने से पहले समय समाप्ति बढ़ाएँ:: एक Watin कदम को चलाने से पहले सभी इंटरनेट एक्सप्लोरर प्रक्रियाओं को बंद
var timeout = 60;
Settings.AttachToBrowserTimeOut = timeout;
Settings.WaitForCompleteTimeOut = timeout;
Settings.WaitUntilExistsTimeOut = timeout;
प्रत्येक Watin कदम निम्नलिखित कोड ब्लॉक में एक कार्रवाई के रूप में में पारित हो जाता है:
public void UseAndCloseBrowser(Action<Browser> action, Browser browser)
{
try
{
action(browser);
browser.WaitForComplete();
}
finally
{
Log(Level.Info, "Attempting to close browser {0}", browser.Title);
browser.Close();
browser.Dispose();
}
}
क्या किसी को कुछ और पता है जो मैं कर सकता हूं/इस परेशान त्रुटि संदेश के नीचे जाने के लिए जांच सकता हूं?
WatiN चल रहे संदर्भ क्या है? क्या यह एक CruiseControl.NET विंडोज सेवा के भीतर चल रहा है, उदाहरण के लिए? मुझे विंडोज सेवाओं के भीतर से चल रहे WatiN के साथ बहुत सारी समस्याएं आई हैं क्योंकि विंडोज सेवाएं विंडो रहित एप्लिकेशन हैं। – NathanAldenSr
हाय, माफ करना, मैं जल्द ही आपसे वापस नहीं आया .. यह एजेंट एक विंडोज सेवा है और मेरे उपयोगकर्ता नाम का उपयोग कर चल रहा है। इसलिए इंटरनेट एक्सप्लोरर इत्यादि तक पूर्ण पहुंच है। सब कुछ अटैचमेंट को छोड़कर काम करता है, जैसा कि मैंने कहा है कि अंतःस्थापित हो रहा है। – CraftyFella