मैं कई महीनों से सेलेनियम का उपयोग कर रहा हूं, जिसका उपयोग हम अपनी कुछ आंतरिक परीक्षण प्रक्रियाओं को स्वचालित करने के लिए कर रहे हैं। स्क्रिप्ट ठीक गुजर रही है। मैंने हाल ही में एफ # 27.01 का उपयोग करके सी # 2.40.0 वेबड्राइवर में अपग्रेड किया है और हमारी स्क्रिप्ट अब निम्न त्रुटि के साथ यादृच्छिक स्थानों पर विफल हो रही है।
[Portal.SmokeTest.SmokeRunTest.Booking] TearDown method failed. OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL htt(p)://localhost:7055/hub/session/56e99e88-ba17-4d12-bef1-c6a6367ccc2f/element timed out after 60 seconds.
----> System.Net.WebException : The operation has timed out
TearDown : OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL htt(p)://localhost:7055/hub/session/56e99e88-ba17-4d12-bef1-c6a6367ccc2f/window timed out after 60 seconds.
----> System.Net.WebException : The operation has timed out
[09:01:20]
[Portal.SmokeTest.SmokeRunTest.Booking] TearDown method failed. OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL htt(p)://localhost:7055/hub/session/56e99e88-ba17-4d12-bef1-c6a6367ccc2f/element timed out after 60 seconds.
----> System.Net.WebException : The operation has timed out
TearDown : OpenQA.Selenium.WebDriverException : The HTTP request to the remote WebDriver server for URL htt(p)://localhost:7055/hub/session/56e99e88-ba17-4d12-bef1-c6a6367ccc2f/window timed out after 60 seconds.
----> System.Net.WebException : The operation has timed out
at OpenQA.Selenium.Support.UI.DefaultWait`1.PropagateExceptionIfNotIgnored(Exception e)
at OpenQA.Selenium.Support.UI.DefaultWait`1.Until[TResult](Func`2 condition)
at Portal.Test.Helpers.Process_Bookings.OpenBookings.SelectBooking(String bookingnumber)
at Portal.SmokeTest.SmokeRunTest.Booking() in d:\TeamCityAgent\work\dac1dcea7f2e80df\SmokeTests\SmokeRunTest.cs:line 68
--WebException
at System.Net.HttpWebRequest.GetResponse()
at OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest request)
--TearDown
at OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest request)
at OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(Command commandToExecute)
at OpenQA.Selenium.Firefox.Internal.ExtensionConnection.Execute(Command commandToExecute)
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Remote.RemoteWebDriver.Close()
at Portal.Test.Helpers.Setup.CloseWebdriver()
at Portal.SmokeTest.SmokeRunTest.TearDown() in d:\TeamCityAgent\work\dac1dcea7f2e80df\SmokeTests\SmokeRunTest.cs:line 162
--WebException
at System.Net.HttpWebRequest.GetResponse()
at OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest request)
नवीनतम त्रुटि मैंने कोड की एक एकल पंक्ति को ट्रैक करने में कामयाब की है:
_setup.driver.FindElement(By.XPath("//button[@class='buttonSmall lockBookingButton']")).Click();
कष्टप्रद बात यह है, समस्या को ठीक करने की कोशिश करना मुश्किल साबित हो रहा है, जैसे कि मैं अपने स्थानीय मशीन पर परीक्षण चलाता हूं, डिबग में यह गुजरता है। इसके अतिरिक्त, अगर मैं इसे NUNIT धावक के माध्यम से चला रहा हूँ, तो निर्माण मशीन पर मैं टेस्ट बंद कर रहा हूँ, यह भी गुजरता है। यह केवल Teamcity का उपयोग करते समय हमारी स्वचालित बिल्ड रनिंग प्रक्रिया के भाग के रूप में विफल प्रतीत होता है। जैसा मैंने कहा, यह पहले से महीनों से ठीक चल रहा है, और केवल एक चीज जो बदल गई है वह है सेलेनियम वेबड्राइवर किट।
मैंने डिबग में रहते हुए पहले इस समस्या का अनुभव किया है, और जब Click()
कोड की एक लाइन बुलाई गई, तो फ़ायरफ़ॉक्स लॉक करने के लिए दिखाई दिया, और केवल परीक्षण को रोकना फ़ायरफ़ॉक्स को जारी रखने की अनुमति देगा। वेबड्राइवर स्रोत को संशोधित करने सहित कई सुझाव यहां दिए गए हैं? यदि संभव हो तो उस मार्ग से नीचे नहीं जाना चाहूंगा यदि कोई और कोई सुझाव दे सकता है।