SeleniumRemoteControlを使用しています。テストの実行中、実際のFirefoxウィンドウは非常に小さいです。何が起こっているのかを確認できるように、全画面表示にします。ブラウザ画面を最大化するにはどうすればよいですか?
9 に答える
windowMaximizeコマンドを試してください。
selenium.windowMaximize();
次のコマンドを使用して、特定の幅と高さを設定することもできます。
selenium.getEval("window.resizeTo(X, Y); window.moveTo(0,0);")
ここで、Xは幅、Yは高さです。
これは私のために働きます。他のすべてのソリューションはFF7では機能しませんでした。
WebDriver driver = ((WebDriverBackedSelenium) selenium).getWrappedDriver();
driver.manage().window().setPosition(new Point(0, 0));
driver.manage().window().setSize(new Dimension(1920, 1080));
次のことができます。
page.driver.browser.manage.window.maximize
セレン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)
Firefoxの場合:sel.key_press_native(122)(F11のキーコードの122)
最善の方法は、ウィンドウのサイズを操作する代わりに、selenium.windowMaximize() selenium関数を使用することだと思います。
-singlewindowパラメーターをSeleniumRCサーバーに渡す場合、提供された回答はいずれも機能しません。ただし、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サーバーのディレクトリにいると仮定して、SeleniumRCサーバーをこのように実行する最も簡単な例は次のとおりです。
rm -rf ~/ffProfile
mkdir ~/ffProfile
cp localstore.rdf ~/ffProfile
java -jar selenium-server-*.jar -singlewindow -firefoxProfileTemplate "~/ffProfile"
これには、テストを「汚染」しないという追加の利点もあります。
より具体的なウィンドウのサイズ変更と移動に関するDavidHuntの提案を拡張するには、次の点に注意してください。
ほとんどの環境で機能するには、サイズを変更する前に移動します。あれは:
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);");
ルビーでは、呼び出しは
web_driver.manage.window.maximize