【发布时间】:2016-04-14 04:43:19
【问题描述】:
我正在使用 Selenium 为 IE 浏览器创建回归测试套件。我正在使用 Selenium 网站上的 IEDriver exe。根据 Selenium 的说明,
“Internet Explorer 驱动程序服务器 如果您想使用 WebDriver InternetExplorerDriver 的最新和最强大的功能,这是必需的。请确保它在您的 $PATH(或 Windows 上的 %PATH%)上可用,以便 IE 驱动程序按预期工作。"
方法 1 我尝试通过批处理文件设置 PATH 变量如下
setlocal
set varC=%CD%\ChromeDriver
set varI=%CD%\IEDriver
set PATH=%PATH%;%varC%;%varI%
但是我仍然面临 IEDriver 无法正常工作的问题。
方法 2 当我通过“高级系统设置”设置 PATH 变量时,一切似乎都运行良好。有人可以确认此设置是否无法通过批处理文件完成,或者我是否执行了一些错误的操作?
这是我初始化驱动程序的方式
[OneTimeSetUp]
public void SetupTestFixture()
{
switch (ConfigPara.TestBrowser.ToLower())
{
case "ie":
Utility.KillProcess("iexplore");
DesiredCapabilities caps = DesiredCapabilities.InternetExplorer();
caps.SetCapability("ignoreZoomSetting", true);
caps.SetCapability("nativeEvents", false);
caps.SetCapability("allow-blocked-content", true);
caps.SetCapability("disable-popup-blocking", true);
caps.SetCapability("allowBlockedContent", true);
aOptIE = new OpenQA.Selenium.IE.InternetExplorerOptions();
aOptIE.InitialBrowserUrl = ConfigurationManager.AppSettings.Get("baseURL");
aOptIE.EnablePersistentHover = false;
aOptIE.RequireWindowFocus = true;
aOptIE.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
System.Environment.SetEnvironmentVariable("webdriver.ie.driver", ConfigPara.IEDriverDirectory.FullName +"\\IEDriverServer.exe");
Utility.Instance.driver = new InternetExplorerDriver(ConfigPara.IEDriverDirectory.FullName, aOptIE);
break;
}
Utility.Instance.driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(7));
baseURL = ConfigPara.BaseURL;
Utility.Instance.wait = new OpenQA.Selenium.Support.UI.WebDriverWait(Utility.Instance.driver, TimeSpan.FromSeconds(30));
//utility = new Utility(driver);
}
[OneTimeTearDown]
public void SetupTestTeardown()
{
try
{
Utility.Instance.driver.Quit();
Utility.Instance.driver.Dispose();
}
catch (Exception)
{
// Ignore errors if unable to close the browser
}
Assert.AreEqual("", verificationErrors.ToString());
}
【问题讨论】:
标签: c# selenium selenium-webdriver