我的问题是我必须在一个小屏幕上测试一个带有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使用特定的缩放级别,这也将解决我的问题,但缩放功能会更有用。
有什么建议吗?提前谢谢!
答案 0 :(得分:1)
这对我来说很好:
char
答案 1 :(得分:-1)
适用于Firefox:
$I->executeJS("document.body.style.transform = 'scale(0.8)';");
(缩小至原始内容的80%)