Java 如何在使用SeleniumWebDriver运行测试时获取浏览器窗口的前端?

Java 如何在使用SeleniumWebDriver运行测试时获取浏览器窗口的前端?,java,selenium-webdriver,Java,Selenium Webdriver,我目前正在两种浏览器中运行selenium webdriver测试(studentdriver和tutordriver) 我首先是学生浏览器,然后是辅导浏览器,所以学生浏览器在后面,辅导浏览器在前面。当脚本使用studentbrowser运行时,它将自动出现,而tutorbrowser将位于后端,但当脚本开始使用tutorbrowser运行时,它不会出现在前端,并且会在两者之间产生一些问题 当脚本开始在tutorbrowser上运行时,我需要一个解决方案来获取tutorbrowser前端 注意:

我目前正在两种浏览器中运行selenium webdriver测试(
studentdriver
tutordriver

我首先是学生浏览器,然后是辅导浏览器,所以学生浏览器在后面,辅导浏览器在前面。当脚本使用
studentbrowser
运行时,它将自动出现,而tutorbrowser将位于后端,但当脚本开始使用tutorbrowser运行时,它不会出现在前端,并且会在两者之间产生一些问题

当脚本开始在
tutorbrowser
上运行时,我需要一个解决方案来获取
tutorbrowser
前端


注意:我不应该关闭
studentbrowser
,因为我在

之后关闭了
@中的两个浏览器。不幸的是,这是一个操作系统问题。由窗口管理器来处理窗口的重叠、平铺和组织,这是您无法直接从代码中控制的

你最好的选择是启动一个
Sikuli
机器人,你可以用它带回正确的窗口。虽然要在测试中包含它需要做一点工作,但它可以从Java中使用,没有问题

查看beast的((JavascriptExecutor)驱动程序)


请对每个驱动程序都尝试此操作。

不确定浏览器是否位于另一个浏览器之后,它实际上会导致问题。一旦你开始执行操作,它应该会工作。+1这工作非常好,是唯一一个对我有效的解决方案,而不必查询所有Windows进程并通过这种[讨厌的]方式找到窗口!
studentdriver = new ChromeDriver();# opening student in chrome browser
tutordriver = new FrefoxDriver();#opening tutor with firefox browser