2015-09-02 20 views
1

如何强制我的浏览器在双监视器设置中的Rubymine对面的显示器上出现?如何在第二台显示器上动态显示浏览器时使用含有卢西丁的watir?

我想测试/调试功能的方案。我的工具集是RubyMine,Ruby,watir,page-object-gem和Cucumber。我有双显示器设置,但浏览器始终与Rubymine在同一台显示器上显示。

我做了一些改变,以我的hooks.rb文件:

Before do 
    @browser = Watir::Browser.new :firefox 
    @browser.window.move_to(1985,24) 
    @browser.window.maximize 
    puts " Browser Position " + @browser.window.position.to_s 
end 

After do 
    @browser.close 
end 

这是一个非常笨重的解决方案。它总是出现在相同的监视器上,然后移动。我必须硬编码才能使用第二台显示器,所以它可能不适用于不同的双显示器设置。

问:

  1. 如果对于这样的配置项,是什么呢?
  2. 您能否提供一个方式来实现以下内容,哪里会去吗?

    如果(dual_monitor) 然后browser.move.window_to(other_monitor)

+0

我不知道怎么样,当它推出了浏览器的位置将使用什么操作系统机制到位。也许另一个专门用于启动测试的intellij窗口。 –

+0

我相信这是一个操作系统控制的东西,我可以通过在鼠标打开之前用鼠标单击该显示器来轻松操纵新浏览器打开的显示器。然而,用我的设置,我只是使用move_to方法来移动浏览器,我想要它打开后 – Carldmitch

回答

1

因为我写在家里和办公室的测试和我在这两个地方双显示器,它们的大小不同,我只是用一个环境变量:

if ENV['MOVE_BROWSER'] =~ /home/i 
    browser.window.move_to(2080,0) 
elsif ENV['MOVE_BROWSER'] =~ /office/i 
    browser.window.move_to(-2562, -600) 
end 

screen_width = browser.execute_script("return screen.width;") 
screen_height = browser.execute_script("return screen.height;") 
browser.driver.manage.window.resize_to(screen_width,screen_height) 

这也确保其他测试人员不会受到我的喜好。我在最大的可用屏幕上使用Sublime,然后在另一个屏幕上使用浏览器。

+0

谢谢,我会试一试。你在哪里放置这个脚本,在你的hooks.rb? – mancocapac

相关问题