0

当我没有连接到 VPN 时,我的 selenium 脚本适用于 Chromedriver 和 IEDriver 这两个驱动程序。

但是,当我在连接到 VPN 时尝试运行相同的脚本时,它仅适用于 Chromedriver,对于IEDriver,只需打开浏览器、最大化、获取 URL,然后所有场景都会被以下错误跳过。

org.openqa.selenium.NoSuchWindowException:无法获取浏览器(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:17 毫秒

注意:在调试时我注意到,

在打开浏览器窗口后 getUrl() 后,我尝试 getCurrenturl() 并得到以下结果。对于IE,它给出了 initialBrowserUrl instad 的实际 Url

IEDriver 日志:

[testng]Started InternetExplorerDriver server (32-bit)
[testng] 2.53.1.0
[testng] Listening on port 28196
[testng] Only local connections are allowed
[testng] Actual URL url : mydomain.com/XYZApplication/
[testng] getCurrenturl (driver.getCurrenturl): localhost:28196/

Chrome驱动程序日志:

[testng] Starting ChromeDriver 2.23.409699 (49b0fa931cda1caad0ae15b7d1b68004acd05129) on port 8160
[testng] Only local connections are allowed.
[testng] test url : mydomain.com/XYZApplication/
[testng] getCurrenturl (driver.getCurrenturl) : mydomain.com/XYZApplication/
4

1 回答 1

1

您可能需要在浏览器中传递 IE 首选项。堆栈跟踪非常开放,所以我不确定问题是什么。以下是我在去年因 IE 遇到的问题而设置的一些偏好。如果没有 VPN,您可能不需要这些

        DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
        caps.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
        caps.setCapability(InternetExplorerDriver.INITIAL_BROWSER_URL, " mydomain.com/XYZApplication/");
        caps.setCapability(InternetExplorerDriver.ENABLE_ELEMENT_CACHE_CLEANUP, true);
        caps.setCapability("ignoreProtectedModeSettings", true);
        caps.setCapability("ignoreZoomSetting", true);
caps.setCapability("nativeEvents", false);
        caps.setCapability(CapabilityType.ForSeleniumServer.ENSURING_CLEAN_SESSION, true); 
        caps.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); 
        caps.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.ACCEPT);

        driver = new InternetExplorerDriver(caps);
        driver.manage().window().maximize();
于 2016-09-22T23:43:29.973 回答