當在本地機器上的Visual Studio中使用C#運行Selenium測試時,測試運行良好並且全部通過。但是,當我嘗試在詹金斯上運行它們時,它們失敗了。如果我使用FireFox,那麼詹金斯運行良好。但問題在於我的老闆想要使用IE,因爲這是我們公司最常用的。Selenium測試在本地機器上運行,但不是通過jenkins運行
這裏是不能運行的代碼:
[TestInitialize]
public void openBrowser()
{
//Start Opening browser
var options = new InternetExplorerOptions()
{
InitialBrowserUrl = baseURL,
IntroduceInstabilityByIgnoringProtectedModeSettings = true,
IgnoreZoomLevel = true,
EnableNativeEvents = false
};
string IE_DRIVER_PATH = @"C:\Users\eedward7\Desktop\Selenium";
driver = new InternetExplorerDriver(IE_DRIVER_PATH, options);
driver.Manage().Window.Maximize();
driver.Navigate().GoToUrl(this.baseURL);
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(15));
wait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(By.Id("ctl00_ContentPlaceHolder1_Login1_UserName")));
driver.FindElementById("ctl00_ContentPlaceHolder1_Login1_UserName").SendKeys(userID);
driver.FindElementById("ctl00_ContentPlaceHolder1_Login1_Password").SendKeys(password);
wait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(By.Id("ctl00_ContentPlaceHolder1_Login1_LoginButton")));
driver.FindElementById("ctl00_ContentPlaceHolder1_Login1_LoginButton").Click();
wait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(By.Id("ctl00_TreeView1t6")));
}
這裏是詹金斯錯誤消息:
初始化方法Selenium.Tests.openBrowser拋出異常。 OpenQA.Selenium.WebDriverException:OpenQA.Selenium.WebDriverException:對URL http://localhost:61076/session的遠程WebDriver服務器的HTTP請求在60秒後超時。 ---> System.Net.WebException:操作已超時。
和最後但並非最不重要的堆棧跟蹤:
在System.Net.HttpWebRequest.GetResponse() 在OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest的要求) - 完內部異常堆棧跟蹤--- 在OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest的請求) 在OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(命令commandToExecute) 在OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(的命令commandToExecute) 在OpenQA.Selenium.Remote.RemoteWebDriver.Execute(字符串driverCommandToExecute,Dictionary`2參數) 在OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities) 在OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor ,ICapabilities desiredCapabilities) at OpenQA.Selenium.IE.InternetExplorerDriver..ctor(String InternetExplorerDriverServerDirectory,InternetExplorerOptions options) at Selenium.Tests.openBrowser()in c:\ Users \ eedward7 \ Desktop \ Selenium \ Selenium \ UnitTest1.cs: line 50
如果任何人有任何建議,這將是驚人的,因爲我現在虧本做什麼。
注意:默認安裝運行Windows服務以「本地系統」帳戶,它似乎並沒有足夠的權限來執行,所以你可以嘗試使用帳戶運行詹金斯服務具有良好的特權 – user6735199