Как изменить размер / развернуть окно Firefox при запуске Selenium Remote Control? - PullRequest
24 голосов
/ 06 октября 2009

Я использую Selenium Remote Control . Во время выполнения тестов фактическое окно Firefox очень мало. Я хочу, чтобы это было на весь экран, чтобы я мог видеть, что происходит. Как я могу максимизировать экран браузера?

Ответы [ 9 ]

36 голосов
/ 06 октября 2009

Попробуйте команду windowMaximize:

selenium.windowMaximize();

Вы также можете установить определенную ширину и высоту, используя следующую команду:

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

Где X - ширина, а Y - высота.

26 голосов
/ 09 декабря 2011

Это работает для меня. Все остальные решения не работали в FF7.

WebDriver driver = ((WebDriverBackedSelenium) selenium).getWrappedDriver();
driver.manage().window().setPosition(new Point(0, 0));
driver.manage().window().setSize(new Dimension(1920, 1080));
5 голосов
/ 07 июня 2013

Вы можете сделать следующее:

page.driver.browser.manage.window.maximize
3 голосов
/ 14 марта 2013

селен 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)
2 голосов
/ 02 марта 2012

Ни один из предоставленных ответов не работает при передаче параметра -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 максимально увеличит любой монитор.

Самый простой пример возможной работы вашего сервера Selenium RC таким образом, при условии, что у нас есть ранее упомянутый localstore.rdf в нашем домашнем каталоге, и мы в настоящее время находимся в каталоге сервера Selenium RC:

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

Это также имеет дополнительное преимущество - не "загрязняет" ваши тесты.

2 голосов
/ 12 марта 2011

Ну, я думаю, что лучше всего использовать selenium.windowMaximize () функцию селена вместо манипулирования размером окна.

2 голосов
/ 03 октября 2010

для Firefox: sel.key_press_native (122) (122 в коде ключа для F11)

1 голос
/ 01 августа 2011

Чтобы расширить предложение Дэвида Ханта для более конкретного изменения размера окна и перемещения, обратите внимание на следующее.

Для работы в большинстве сред двигайтесь до изменения размера. То есть:

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);");

0 голосов
/ 04 мая 2015

В рубине, вызов будет

web_driver.manage.window.maximize

...