2014-01-08 110 views
1

我目前运行我硒webdriver的测试在2个浏览器(studentdrivertutordriver如何在使用selenium webdriver运行测试时获取浏览器窗口?

studentdriver = new ChromeDriver();# opening student in chrome browser 
tutordriver = new FrefoxDriver();#opening tutor with firefox browser 

和我的学生浏览器,然后再tutorbrowser索思该学生的浏览器将是后面tutorbrowser将是正面。当使用studentbrowser运行脚本时,它会自动出现,tutorbrowser会回到背面,但当脚本开始使用tutorbrowser运行时,它不会出现在正面,它会在两者之间产生问题。

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

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

+0

不确定浏览器是否在另一个后面会导致问题。一旦你开始执行操作,它应该工作。 – Vinay

回答

0

不幸都关闭浏览器,这是一个操作系统的问题。窗口管理器负责处理窗口的覆盖,拼贴和组织,这些不能直接从代码中控制。

最好的选择就是启动一个Sikuli机器人,您将能够带回正确的窗口。这是一些工作,不过,在测试中,包括,但它可以从Java中使用没有问题

见兽在http://www.sikuli.org

1

((JavascriptExecutor)驱动程序).executeScript(“window.focus ();“);

与每个驱动程序一起尝试。

+0

+1这工作得很好,是唯一的解决方案,无需查询所有Windows进程,并通过[讨厌]的方式找到窗口! – SolidRegardless

相关问题