Tôi đã sử dụng Selenium trong một số tháng, mà chúng tôi đang sử dụng để tự động hóa một số quy trình thử nghiệm nội bộ của mình. Các kịch bản đã trôi qua tốt đẹp. Gần đây tôi đã nâng cấp lên trình duyệt web C # 2.40.0 bằng FF 27.01 và các tập lệnh của chúng tôi hiện đang bị lỗi ở những nơi ngẫu nhiên với lỗi sau.
[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)
Lỗi mới nhất mà tôi đã quản lý để theo dõi một dòng mã duy nhất:
_setup.driver.FindElement(By.XPath("//button[@class='buttonSmall lockBookingButton']")).Click();
Điều khó chịu là, cố gắng khắc phục sự cố đang tỏ ra khó khăn, như thể tôi chạy thử nghiệm trên máy cục bộ của mình, khi gỡ lỗi, nó sẽ vượt qua. Ngoài ra, nếu tôi chạy nó qua trình chạy NUNIT trên máy xây dựng mà tôi đang chạy thử nghiệm, nó cũng vượt qua. Nó chỉ có vẻ không thành công trong quá trình chạy xây dựng tự động của chúng tôi khi sử dụng Teamcity. Như tôi đã nói, điều này đã hoạt động tốt trong nhiều tháng trước đó và thứ duy nhất đã thay đổi là bộ công cụ trình duyệt web selen.
Tôi đã gặp sự cố này trước đây, trong khi gỡ lỗi và khi một Click()
dòng mã được gọi, Firefox dường như bị khóa và chỉ dừng thử nghiệm mới cho phép Firefox tiếp tục. Có một số đề xuất ở đây bao gồm sửa đổi nguồn webdriver? Tôi không muốn đi theo con đường đó nếu có thể nếu bất kỳ ai khác có thể đưa ra bất kỳ đề xuất nào.