使用Selenium Webdriver截图:如何设置窗口大小?

时间:2013-09-15 13:59:52

标签: php selenium phpunit selenium-webdriver

正如其他地方(Take a screenshot with Selenium WebDriver)所解释的那样,您可以使用Selenium Webdriver类PHPUnit_Extensions_Selenium2TestCase轻松地使用PHPUnit截取屏幕截图。

但是,我找不到设置生成的屏幕截图的屏幕大小的方法。默认情况下,它们的宽度似乎限制为1000像素。

BTW:上面提到的Stackoverflow线程已关闭。所以我不能在那里发表我的问题。

2 个答案:

答案 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) );
        }
    }
}

稍后拍摄的屏幕截图反映了上面的设置窗口尺寸。