我在计算机上安装了IE浏览器和Chrome浏览器。我想从原始浏览器运行我的selenium脚本,包含所有附加组件和默认设置。
我能够找到具有一些功能的浏览器的* .exe。但是无法在浏览器中编写和打开链接(driver.get())。请参考以下代码。
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
cap.setCapability(InternetExplorerDriver.INITIAL_BROWSER_URL, DriverTestNG.url);
DesiredCapabilities.internetExplorer().setCapability("ignoreProtectedModeSettings", true);
System.setProperty("webdriver.ie.driver", "src/main/resources/Framework/Drivers/Windows/IEDriverServer_Win32_2.40.0/IEDriverServer.exe");
cap.setCapability("IE.binary", "C:\\Program Files\\Internet Explorer\\iexplore.exe");
cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
cap.setJavascriptEnabled(true);
cap.setCapability("requireWindowFocus", true);
cap.setCapability("enablePersistentHover", false);
cap.setCapability("elementScrollBehavior", 1);
cap.setCapability("cssSelectorsEnabled", true);
cap.setCapability("nativeEvents", true);
driver = new InternetExplorerDriver(cap);
可能是我错过了什么。我不确定selenium web驱动程序是否支持此功能。
请指导我。
提前致谢。
答案 0 :(得分:2)
关于您的标题,您无法在不使用webDriver
的情况下运行Internet Explorer或Chrome,因为您需要使用webDriver
作为API来访问IE或Chrome的功能。
但您仍然可以使用扩展程序和默认设置。您没有看到任何运行chromeDriver
的扩展的原因是它始终为每个测试会话创建一个新的临时配置文件。如果您想使用扩展程序和设置运行自己的自定义配置文件,则必须通过定义user-data-dir
告诉chromeDriver应使用哪个用户配置文件。
您可以在此处找到相应功能: https://sites.google.com/a/chromium.org/chromedriver/capabilities
示例:
ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=C:/Users/user_name/AppData/Local/Google/Chrome/User Data");
您还可以使用以下方式指定扩展名: https://sites.google.com/a/chromium.org/chromedriver/extensions
我不使用IEdriver
所以我不能告诉你它是如何与IE一起工作的,但据我所知,Internet Explorer没有配置文件,扩展程序在注册表中的某处管理。所以我认为在运行测试之前安装的扩展也可以通过IEWebDriver
。