web-dev-qa-db-ja.com

Selenium Remote Controlの起動中にFirefoxウィンドウのサイズを変更/最大化する方法は?

Selenium Remote Control を使用しています。テストの実行中、実際のFirefoxウィンドウは非常に小さいです。何が起こっているのかを確認できるように、全画面表示にしたい。ブラウザ画面を最大化するにはどうすればよいですか?

24
chobo2

WindowMaximizeコマンドを試してください:

Selenium.windowMaximize();

次のコマンドを使用して、特定の幅と高さを設定することもできます。

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

Xは幅、Yは高さです。

36
Dave Hunt

これは私にとってはうまくいきます。他のすべてのソリューションはFF7では機能しませんでした。

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

次のことができます。

page.driver.browser.manage.window.maximize
5
Whitney Imura

セレン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
TONy.W

-singlewindowパラメータをSelenium RCサーバーに渡すときに、提供された回答はどれも機能しません。ただし、FirefoxプロファイルをSelenium RCサーバーに渡す場合( ここで多少詳しく説明します )、空のプロファイルフォルダーを作成し、このファイルをフォルダーに配置できます。

localstore.rdf(大文字と小文字が区別されるファイル名!)

<?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は、どのモニターでもほぼ最大化します。

前述のlocalstore.rdfがホームディレクトリにあり、現在、 Selenium RCサーバーのディレクトリ:

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

これには、テストを「汚染」しないという追加の利点もあります。

2
ohaal

firefoxの場合:sel.key_press_native(122)(F11のキーコードの122)

まあ私はウィンドウのサイズを操作する代わりにSelenium.windowMaximize() Selenium関数を使用するのが最善の方法だと思います。

2
Paresh

より具体的なウィンドウのサイズ変更と移動に関するDavid Huntの提案を拡張するには、次のことに注意してください。

ほとんどの環境で作業するには、サイズを変更する前に移動します。あれは:

Selenium.getEval( "window.moveTo(X、Y); window.resizeTo(X、Y);")

画面の2/3をカバーします。これは、下にあるSelenium駆動ウィンドウの一部を見るのに便利です。これは、ターゲット画面の解像度に関係なく行うためです。

Selenium.getEval( "window.moveTo(screen.availWidth/3,0); window.resizeTo(screen.availWidth *(2/3)、screen.availHeight);");

1
John Bentley

Rubyでは、呼び出しは次のようになります

web_driver.manage.window.maximize

0