Моя проблема в том, что я должен протестировать страницу с Codeception на маленьком экране, который скрывает некоторые элементы со страницы (дизайн отзывчивый), поэтому Codeception не обнаруживает их.
Поэтому я пытаюсь уменьшить масштаб с помощью Codeception, и я уже пробовал это:
$I->executeJS("$('body').css('zoom','90%');");
Но работает только частично, потому что страница не распознает это изменение масштаба (работает, если я использую Ctrl + -).
Поэтому я также попробовал:
$I->pressKey('body', array(WebDriverKeys::CONTROL, WebDriverKeys::SUBTRACT));
а также
$I->executeInSelenium(
function(Facebook\WebDriver\Remote\RemoteWebDriver $webdriver){
$webdriver->findElement(WebDriverBy::tagName("body"))->sendKeys(WebDriverKeys::CONTROL, WebDriverKeys::SUBTRACT);
}
);
И некоторые варианты этого, но ничего не происходит …
Я также нашел эту страницу: Селен Zoom-in / Zoom-out
но не мог понять, как использовать эти коды с Codeception.
Если есть способ настроить chromedriver для использования определенного уровня масштабирования, это также решит мою проблему, но функция масштабирования будет более полезной.
Какие-либо предложения? Заранее спасибо!
это прекрасно работает для меня:
$I->executeJS("$(body).setStyle({zoom: '90%'});");
Это работает для Firefox:
$I->executeJS("document.body.style.transform = 'scale(0.8)';");
(уменьшить до 80% исходного контента)