使用Codeception缩放页面?

时间:2016-06-23 12:54:41

标签: php jquery selenium-chromedriver codeception

我的问题是我必须在一个小屏幕上测试一个带有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);
    }
);

它的一些变化,但没有任何反应......

我也找到了这个页面:Selenium Zoom-in/Zoom-out 但无法弄清楚如何在Codeception中使用这些代码。

如果有办法配置chromedriver使用特定的缩放级别,这也将解决我的问题,但缩放功能会更有用。

有什么建议吗?提前谢谢!

2 个答案:

答案 0 :(得分:1)

这对我来说很好:

char

答案 1 :(得分:-1)

适用于Firefox:

$I->executeJS("document.body.style.transform = 'scale(0.8)';");

(缩小至原始内容的80%)