ฉันใช้ซีลีเนียมมาหลายเดือนแล้วซึ่งเราใช้เพื่อทำให้กระบวนการทดสอบภายในบางอย่างเป็นไปโดยอัตโนมัติ สคริปต์ผ่านไปอย่างดี ฉันเพิ่งอัปเกรดเป็น C # 2.40.0 webdriver โดยใช้ FF 27.01 และตอนนี้สคริปต์ของเราล้มเหลวในที่สุ่มโดยมีข้อผิดพลาดต่อไปนี้
[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 runner บนเครื่อง build ที่ฉันกำลังทำการทดสอบอยู่มันก็จะผ่านไปด้วย ดูเหมือนว่าจะล้มเหลวเนื่องจากเป็นส่วนหนึ่งของกระบวนการทำงานบิลด์อัตโนมัติของเราเมื่อใช้ Teamcity อย่างที่ฉันพูดไปสิ่งนี้ทำงานได้ดีมาหลายเดือนก่อนหน้านี้และสิ่งเดียวที่เปลี่ยนไปคือชุด selenium webdriver kit
ฉันเคยประสบปัญหานี้มาก่อนในขณะที่อยู่ในการดีบักและเมื่อมีClick()
การเรียกรหัสบรรทัด Firefox ดูเหมือนจะล็อกและการหยุดการทดสอบเท่านั้นที่จะอนุญาตให้ Firefox ดำเนินการต่อ มีคำแนะนำหลายประการเกี่ยวกับการแก้ไขแหล่งที่มาของ webdriver? ฉันไม่ต้องการลงไปในเส้นทางนั้นถ้าเป็นไปได้หากมีใครสามารถให้คำแนะนำได้