我正在尝试在一些远程自动化服务(Sauce Labs、Browserstack 等)上运行 Selenium 测试,但在通过企业防火墙访问它们的 API 时遇到问题。
请注意,我要测试的应用程序不在这个防火墙后面,它是公开可访问的。
DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
caps.setCapability("platform", "Windows 7");
caps.setCapability("version", "9.0");
caps.setCapability("idleTimeout", "300");
caps.setCapability("name", "Invitation Tests");
driver = new RemoteWebDriver(new URL("https://user:key@saucelabs.com), caps);
问题似乎是Selenium的管道将URL中的user:key解释为代理凭据,因此它永远不会离开我们的网络。有没有特定的技巧来配置这个?它似乎在内部使用Apache HttpClient。
我认为我们正在使用NTLM代理,它似乎使用基本身份验证。可能是从这里开始的相同问题:https://code.google.com/p/selenium/issues/detail?id=7286