我正在尝试使用Selenium& amp;进行自动化测试。 MAC Sierra上的Java,但是当我运行testng.xml
:
org.openqa.selenium.WebDriverException:转发新邮件时出错 session无法找到:Capabilities [{browserName = chrome, chromeOptions = {args = [ - start-maximized, - disable-web-security], extensions = [],prefs = {credentials_enable_service = false, profile.password_manager_enabled = false}},version =,platform = macOS 10.12}]命令持续时间或超时:61毫秒
枢纽&节点正在同一台Mac计算机上运行。以下是启动节点的命令行:
java -jar selenium-server-standalone-3.4.0.jar -role node -hub http://localhost:4444/grid/register
以下是在Windows 10上运行绝对正常的示例代码:
capabilities = DesiredCapabilities.chrome();
System.setProperty("webdriver.chrome.driver", "/Users/varun/webautomation/Executables/chromedriver");
capabilities.setBrowserName("chrome");
getPlatformCapabilities(platform);
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
options.addArguments("--disable-web-security");
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("credentials_enable_service", false);
prefs.put("profile.password_manager_enabled", false);
options.setExperimentalOption("prefs", prefs);
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
driver = new RemoteWebDriver(new URL(remoteAddress), capabilities);
任何人都可以帮帮我吗?我搜索了帖子,但似乎无法找到解决方案。运行集线器的终端窗口中的最后一行是:
请求创建新会话:功能[{browserName = chrome,chromeOptions = {args = [ - start-maximized, - disable-web-security],extensions = [],prefs = {credentials_enable_service = false,profile.password_manager_enabled = false}},version =,platform = macOS 10.12}]
答案 0 :(得分:0)
默认情况下,selenium网格将端口4444用于集线器,将端口5555用于节点。这可能是端口转发问题。您是否允许端口4444和5555.如果它未启用,请在防火墙中将其添加到TCP / IP和UDP协议中。 Windows中默认启用这两个端口。所以你没有遇到任何问题。
答案 1 :(得分:0)
所以我想出了一个目前正在运作的非完美解决方案。我不得不删除与传递参数相关的代码。 chrome选项是问题的根源,因为这不适用于Mac OSX。我的最终代码是:
capabilities = DesiredCapabilities.chrome();
System.setProperty("webdriver.chrome.driver","/Users/varun/webautomation/Executables/chromedriver");
capabilities.setBrowserName("chrome");
driver = new RemoteWebDriver(new URL(remoteAddress), capabilities);