如何在启动Selenium Remote Control期间调整/最大化Firefox窗口?

时间:2009-10-05 20:35:08

标签: firefox selenium selenium-rc automated-tests

我正在使用Selenium Remote Control。在执行测试期间,实际的Firefox窗口非常小。我想要全屏,所以我可以看到发生了什么。如何最大化浏览器屏幕?

9 个答案:

答案 0 :(得分:36)

尝试使用windowMaximize命令:

selenium.windowMaximize();

您还可以使用以下命令设置特定的宽度和高度:

selenium.getEval("window.resizeTo(X, Y); window.moveTo(0,0);")

其中X是宽度,Y是高度。

答案 1 :(得分:26)

这对我有用。所有其他解决方案在FF7中都不起作用。

WebDriver driver = ((WebDriverBackedSelenium) selenium).getWrappedDriver();
driver.manage().window().setPosition(new Point(0, 0));
driver.manage().window().setSize(new Dimension(1920, 1080));

答案 2 :(得分:5)

您可以执行以下操作:

page.driver.browser.manage.window.maximize

答案 3 :(得分:3)

Selenium 2.31.0

driver = webdriver.Firefox()

# Resize the window to the screen width/height
driver.set_window_size(300, 500)

# Move the window to position x/y
driver.set_window_position(200, 200)

答案 4 :(得分:2)

for Firefox: sel.key_press_native(122) (F11的密码中122)

答案 5 :(得分:2)

我认为最好的方法是使用 selenium.windowMaximize() selenium函数,而不是操纵窗口大小。

答案 6 :(得分:2)

-singlewindow 参数传递给Selenium RC服务器时,没有提供任何答案。但是,如果您将firefox配置文件传递给Selenium RC服务器(as detailed somewhat here),则可以创建一个空的配置文件文件夹并将此文件放在该文件夹中:

localstore.rdf(case sensitive filename!)

<?xml version="1.0"?>
<RDF:RDF xmlns:NC="http://home.netscape.com/NC-rdf#"
         xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <RDF:Description RDF:about="chrome://browser/content/browser.xul#main-window"
                   sizemode="normal"
                   height="9999"
                   width="9999"
                   screenX="0"
                   screenY="0" />
                   lastSelected="paneTabs" />
  <RDF:Description RDF:about="chrome://browser/content/browser.xul">
    <NC:persist RDF:resource="chrome://browser/content/browser.xul#main-window"/>
    <NC:persist RDF:resource="chrome://browser/content/browser.xul#PersonalToolbar"/>
    <NC:persist RDF:resource="chrome://browser/content/browser.xul#nav-bar"/>
    <NC:persist RDF:resource="chrome://browser/content/browser.xul#status-bar"/>
    <NC:persist RDF:resource="chrome://browser/content/browser.xul#toggle_taskbar"/>
    <NC:persist RDF:resource="chrome://browser/content/browser.xul#navigator-toolbox"/>
    <NC:persist RDF:resource="chrome://browser/content/browser.xul#toolbar-menubar"/>
    <NC:persist RDF:resource="chrome://browser/content/browser.xul#sidebar-box"/>
    <NC:persist RDF:resource="chrome://browser/content/browser.xul#sidebar-title"/>
  </RDF:Description>
</RDF:RDF>

用您喜欢的宽度和高度替换宽度和高度。 9999x9999几乎可以最大化任何显示器。

以这种方式运行Selenium RC服务器的最简单示例,假设我们在主目录中有前面提到的 localstore.rdf ,并且我们当前位于Selenium RC服务器的目录中:< / p>

rm -rf ~/ffProfile
mkdir ~/ffProfile
cp localstore.rdf ~/ffProfile
java -jar selenium-server-*.jar -singlewindow -firefoxProfileTemplate "~/ffProfile"

这还有一个额外好处,就是不会“污染”您的测试。

答案 7 :(得分:1)

扩展David Hunt关于更具体的窗口大小调整和移动注释的建议。

要在大多数环境中工作,请在调整大小之前移动。那就是:

  

selenium.getEval(“window.moveTo(X,Y); window.resizeTo(X,Y);”)

覆盖屏幕的2/3,这对于查看下面的部分硒驱动窗口非常方便,并且无论目标屏幕分辨率如何都可以这样做:

  

selenium.getEval(“window.moveTo(screen.availWidth / 3,0); window.resizeTo(screen.availWidth *(2/3),screen.availHeight);”);

答案 8 :(得分:0)

在ruby中,呼叫将是

  

web_driver.manage.window.maximize