正如其他地方(Take a screenshot with Selenium WebDriver)所解释的那样,您可以使用Selenium Webdriver类PHPUnit_Extensions_Selenium2TestCase轻松地使用PHPUnit截取屏幕截图。
但是,我找不到设置生成的屏幕截图的屏幕大小的方法。默认情况下,它们的宽度似乎限制为1000像素。
BTW:上面提到的Stackoverflow线程已关闭。所以我不能在那里发表我的问题。
答案 0 :(得分:6)
您是否尝试调整浏览器窗口的大小?我发现了有趣的帖子here。 那里有一些代码片段:
$this->currentWindow()->size(array(
'width' => 800,
'height' => 600,
));
答案 1 :(得分:3)
非常感谢!这解决了我的问题。我发布我的代码以提供更完整的示例:
您可以使用$this->currentWindow()
获取任何窗口,然后在其上调用“闭包方法”size()
。我把它放到我的setupPage()
方法中。
class DrupalWebtestBase extends \PHPUnit_Extensions_Selenium2TestCase
{
/* ... */
public function setUpPage()
{
parent::setUpPage();
if( $this->width && $this->height )
{
// main window is named ''
$this->window('');
// get window object
$window = $this->currentWindow();
// set window size
$window->size( array(
'width' => $this->width,
'height' => $this->height) );
}
}
}
稍后拍摄的屏幕截图反映了上面的设置窗口尺寸。