2016-12-01 4 views
0

Я пишу тесты селена. У меня проблема с одним скриптом, потому что селен не может найти элемент. Я думаю, что это проблема с RemoteWebDriver, потому что, когда я смотрю экраны, я вижу, что экран неполный, без правой стороны с этой кнопкой. Если я использую локальный драйвер, у меня есть строка driver.manage().window().maximize(), и это работает. Итак, мой вопрос: возможно ли увеличить размер окна RemoteWebDriver? Может быть, есть альтернатива получить полный экран в этом драйвере? Я использую Дженкинса с селеном.RemoteWebDriver - изменение размера окна

+0

Посмотрите на это - http://stackoverflow.com/questions/37715927/unable-to- maximize-browser-when-running-through-jenkins-as-windows-service – Grasshopper

+0

Хорошо, я нахожу это: «Единственный способ, которым я мог бы исправить это, - это удалить Jenkins в качестве службы Windows и запустить его из CMD используя sciprt.', но не могли бы вы рассказать мне, что означает «удалить Дженкинс в качестве службы Windows»? –

+0

попробуйте это вместо maximixe '// сделать окно большим \t \t firefoxDriver.manage(). Window(). SetPosition (новая точка (0,0)); \t \t firefoxDriver.manage(). Window(). SetSize (новый размер (1800,1100)); –

ответ

0

У меня была эта проблема в хроме много раз, и обходной путь для меня заключается в использовании javascript's scrollIntoView для перемещения области просмотра к этому элементу.

В PHP/PHPUnit-селен:

$this->execute([ 
    'script' => 'var elm = document.getElementById("id");elm.scrollIntoView(true);', 
    'args' => $args 
]); 
// Continue to access element 

Вы должны быть в состоянии извлечь этот бит в «сценарии» и запустить его в качестве сырья JavaScript внутри любой язык вы используете для тестов селена.

0

для хрома можно использовать

DesiredCapabilities cap = new DesiredCapabilities(); 

ChromeOptions options = new ChromeOptions(); 
cap.setCapability(ChromeOptions.CAPABILITY, options); 
options.addArguments("--start-maximized"); 
driver = new ChromeDriver(cap); 

светлячок оленья кожа нужна любая driver.window().manage().maximize() в последней версии geckodriver