千家信息网

Laravel Dusk如何实现整页截屏

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章给大家分享的是有关Laravel Dusk如何实现整页截屏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。整页截屏Laravel dusks 为我们提供了失败测试的屏
千家信息网最后更新 2025年01月19日Laravel Dusk如何实现整页截屏

这篇文章给大家分享的是有关Laravel Dusk如何实现整页截屏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

整页截屏

Laravel dusks 为我们提供了失败测试的屏幕截图,这对于了解测试失败的原因非常有帮助。但是,有时错误或有问题的元素可能在屏幕显示区域以外。

要在 Laravel Dusk 中创建完整的屏幕截图,我们必须在我们的 tests \ DuskTestCase.php 中创建一个 captureFailuresFor() 方法,它将覆盖最初在 Laravel\Dusk\Concerns\ProvidesBrowser 中定义的一个方法。

protected function captureFailuresFor($browsers){    $browsers->each(function (Browser $browser, $key) {        $body = $browser->driver->findElement(WebDriverBy::tagName('body'));        if (!empty($body)) {            $currentSize = $body->getSize();            $size = new WebDriverDimension($currentSize->getWidth(), $currentSize->getHeight());            $browser->driver->manage()->window()->setSize($size);        }        $name = str_replace('\\', '_', get_class($this)).'_'.$this->getName(false);        $browser->screenshot('failure-'.$name.'-'.$key);    });}

现在,无论何时我们调用 $browser->screenshot('$shotname') ,发生错误时我们都将获得完整的屏幕截图

感谢各位的阅读!关于"Laravel Dusk如何实现整页截屏"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0