2016-07-25 130 views
0

當在本地機器上的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

如果任何人有任何建議,這將是驚人的,因爲我現在虧本做什麼。

回答

0

使用這些選項嘗試chromeDriver

ChromeOptions chromeOptions = new ChromeOptions(); 
chromeOptions.AddArguments("test-type"); 
chromeOptions.AddArguments("no-sandbox"); 
new ChromeDriver(chromeOptions); 
+0

注意:默認安裝運行Windows服務以「本地系統」帳戶,它似乎並沒有足夠的權限來執行,所以你可以嘗試使用帳戶運行詹金斯服務具有良好的特權 – user6735199

相關問題