Указание пользовательского разрешения экрана в тестах Selenium

Как упоминалось в блоге ниже, мы можем изменить разрешение экрана во время тестовых запусков selenium. http://blog.testingbot.com/2013/03/15/screen-resolution-option-now-available-for-all-selenium-tests

попробовал приведенный ниже код(как указано в "https://saucelabs.com/docs/additional-config"), но не устанавливая указанное разрешение. Это все еще не доступно для Селена?

DesiredCapabilities dc=new DesiredCapabilities();    
dc.setCapability("screen-resolution","1280x1024");

4 ответов


Соус Лабораторий != Селен

Sauce labs используют эту возможность для предоставления вам виртуальной машины с требуемым разрешением, это не та возможность, о которой знает сам селен.

Selenium не способен изменять разрешение рабочего стола!

Если вы хотите изменить размер браузера в Selenium, чтобы он соответствовал определенному разрешению, вы можете сделать:

driver.manage().window().setSize(new Dimension(1024, 768))

вышеуказанное не поддерживается драйвером Opera, поэтому вместо этого вы надо бы сделать:

DesiredCapabilities capabilities = DesiredCapabilities.opera()
capabilities.setCapability("opera.arguments", "-screenwidth 1024 -screenheight 768")

хотя настройка размера браузера не совпадает с настройкой разрешения экрана, она должна во всех отношениях соответствовать вашим требованиям.


Selenium-это платформа автоматизации браузера, ее задача-управлять браузером, а не автоматизировать вашу систему. Я не думаю, что такая функциональность, как настройка разрешения экрана, когда-либо будет реализована в Selenium. Настройка разрешения просто не имеет ничего общего с автоматизацией браузера.

Я не уверен, почему вы хотите изменить разрешение... Как насчет того, чтобы просто изменить размер окна браузера? Это то, что вы можете сделать, если вы тестируете адаптивный дизайн страницы.

driver.manage().window().setSize(new Dimension(800, 600));

цель DesiredCapabilities должен сказать сетке, где запускать ваши тесты.

Итак, если есть удаленный узел, подключенный к сетке с указанным вами разрешением 1280x1024, тест будет выполняться на этом узле. Если другие узлы не имеют этого разрешения, тест не будет выполняться на этих узлах.

Если вы не укажете разрешение экрана в DesiredCapabilities, то тест будет выполняться на узлах с любым разрешением.

эта функция Селена на самом деле не изменить разрешение тестирования узла экраном. Он только сообщает сетке, на каких узлах запускать или не запускать тесты.


то, что вам интересно делать, вероятно, лучше всего делать с помощью собственного кода java, а не через Selenium, который является платформой тестирования веб-браузера.

вопрос об изменении разрешения через Java был рассмотрен в другом потоке здесь, в StackOverflow.

swing-изменение разрешения экрана в Java

хотя мне любопытно, почему вы пытаетесь это сделать, так как вы не объяснили это выше и может привести к лучшая реакция со стороны сообщества. =)