C# Selenium IEDriver-关于路径变量
我正在使用Selenium for IE浏览器创建回归测试套件。我正在使用Selenium网站上的IEDriver exe。根据Selenium的指示 “Internet Explorer驱动程序服务器 如果要使用WebDriver InternetExplorerDriver最新和最强大的功能,则需要此选项。请确保$PATH(或Windows上的%PATH%)上有此选项,以便IE驱动程序按预期工作。” 方法1 我试图通过批处理文件设置PATH变量,如下所示C# Selenium IEDriver-关于路径变量,c#,selenium,selenium-webdriver,C#,Selenium,Selenium Webdriver,我正在使用Selenium for IE浏览器创建回归测试套件。我正在使用Selenium网站上的IEDriver exe。根据Selenium的指示 “Internet Explorer驱动程序服务器 如果要使用WebDriver InternetExplorerDriver最新和最强大的功能,则需要此选项。请确保$PATH(或Windows上的%PATH%)上有此选项,以便IE驱动程序按预期工作。” 方法1 我试图通过批处理文件设置PATH变量,如下所示 setlocal set varC=
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());
}
嗨,实际上你必须在这里设置你下载的IE驱动程序的路径 请像下面这样做
System.setProperty("webdriver.ie.driver","pathofIEdriver\\IEDriverServer.exe");
WebDriver driver = new InternetExplorerDriver();
下面是C#webdriver的用户代码:
System.Environment.SetEnvironmentVariable("webdriver.ie.driver", "Path\IEDriverServer.exe");
您可以使用webdriver管理器类来处理它
WebDriverManager.iedriver().setup();
添加到maven pom文件中:
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>3.8.1</version>
</dependency>
io.github.bonigarcia
webdrivermanager
3.8.1
您还可以对Gradle使用WebDriverManager依赖项。这将自动维护IE驱动程序exe文件。N我在您提到的页面上没有注意到这个变量。这对C#NET也是有效的吗?请跟随C#NET,希望这对您有帮助。这对我没有帮助,因为我已经有了相同的设置。我的观察是,一旦IE驱动程序崩溃,它会一次又一次地崩溃。因此,我不确定它在重置IE驱动程序时是否寻找任何特定路径,这无助于改善崩溃。性能是一样的。我缺少的任何其他设置?