所以我通过GRID运行一个简单的Selenium程序。 我有网格和节点所有设置完美工作。
我遇到的问题如下:
driver.manage().window().setPosition(new Point(X,Y));
这似乎对节点计算机上的浏览器没有任何影响。查看服务器,此命令可以理解,甚至可以正确处理:
14:57:02.811 INFO - 完成:[设置窗口位置]
14:57:11.318 INFO - 执行:[获取窗口位置])
使用的代码是
driver.manage().window().setPosition(new Point(600, 500));
我插入了一些代码来获取浏览器的电源线,并将它们返回为:
System.out.println(" POSITION " +driver.manage().window().getPosition());
结果=“位置(600,500)”
我正在使用“import org.openqa.selenium.Point;”导入。
代码没有其他问题。
我需要移动浏览器的原因是因为第二个浏览器与第一个浏览器重叠,因此Selenium无法与第一个浏览器进行交互(我正在使用并行测试。我调整了两个浏览器的大小以尝试和修复这个问题。顺便说一句,完全没有问题的调整大小代码(如下):
driver.manage().window().setSize(new Dimension(600, 500));
完整代码:
DesiredCapabilities cap = DesiredCapabilities.firefox();
cap.setBrowserName("firefox");
driver = new RemoteWebDriver(new URL(Node), cap);
// Puts an Implicit wait, Will wait for 10 seconds before throwing
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
// Launch website
driver.navigate().to(URL);
driver.manage().window().setSize(new Dimension(600, 500));
driver.manage().window().setPosition(new Point(600, 500));