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