首页 文章

Selenium测试在本地机器上运行,但不是通过jenkins

提问于
浏览
0

在本地计算机上的Visual Studio中使用C#运行Selenium测试时,测试运行正常并且全部通过 . 但是,当我尝试在jenkins上运行它们时,它们会失败 . 如果我使用FireFox,那么Jenkins运行正常 . 但问题是我的老板想要使用IE,因为这是我们公司最常用的 .

这是无法运行的代码:

[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")));
}

这是Jenkins错误消息:

初始化方法Selenium.Tests.openBrowser抛出异常 . OpenQA.Selenium.WebDriverException:OpenQA.Selenium.WebDriverException:对URL http:// localhost:61076 / session的远程WebDriver服务器的HTTP请求在60秒后超时 . ---> System.Net.WebException:操作已超时 .

最后但并非最不重要的Stacktrace:

在OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest请求)中的System.Net.HttpWebRequest.GetResponse()---内部异常堆栈跟踪结束---在OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest请求)在OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(命令commandToExecute)OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(命令commandToExecute)在OpenQA的OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute,Dictionary`2参数)在Selenium的OpenQA.Selenium.IE.InternetExplorerDriver..ctor(String internetExplorerDriverServerDirectory,InternetExplorerOptions选项)的OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor,ICapabilities desiredCapabilities)上的.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities) .Tests.openBrowser()在c:\ Users \ eedward7 \ Desktop \ Selenium \ Selenium \ UnitTest1.cs:第50行

如果有人有任何令人惊讶的建议,因为我现在不知道该做什么 .

1 回答

  • 0

    尝试使用chromeDriver这些选项

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

相关问题