Directly converts screenshot to jpeg
This commit is contained in:
parent
60fe1a61dc
commit
a696409927
|
@ -11,6 +11,7 @@
|
||||||
use Facebook\WebDriver\Remote\RemoteWebDriver;
|
use Facebook\WebDriver\Remote\RemoteWebDriver;
|
||||||
use Facebook\WebDriver\WebDriverBy;
|
use Facebook\WebDriver\WebDriverBy;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
|
use Intervention\Image\Laravel\Facades\Image;
|
||||||
use Laravel\Dusk\Browser as DuskBrowser;
|
use Laravel\Dusk\Browser as DuskBrowser;
|
||||||
use Laravel\Dusk\Chrome\SupportsChrome;
|
use Laravel\Dusk\Chrome\SupportsChrome;
|
||||||
use Laravel\Dusk\Concerns\ProvidesBrowser;
|
use Laravel\Dusk\Concerns\ProvidesBrowser;
|
||||||
|
@ -74,18 +75,24 @@ public function dataname()
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return screenshot content as a PNG resource
|
* Return screenshot content as a jpg resource
|
||||||
*/
|
*/
|
||||||
public function getScreenshot()
|
public function getScreenshot()
|
||||||
{
|
{
|
||||||
return $this->screenshot;
|
return $this->screenshot;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return page title
|
||||||
|
*/
|
||||||
public function getTitle()
|
public function getTitle()
|
||||||
{
|
{
|
||||||
return $this->title;
|
return $this->title;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return page description, if any is found
|
||||||
|
*/
|
||||||
public function getDescription()
|
public function getDescription()
|
||||||
{
|
{
|
||||||
return $this->description;
|
return $this->description;
|
||||||
|
@ -144,7 +151,7 @@ private function handleNavigation(DuskBrowser $browser)
|
||||||
->visit($this->url)
|
->visit($this->url)
|
||||||
->pause(1000);
|
->pause(1000);
|
||||||
|
|
||||||
$this->screenshot = $browser->driver->takeScreenshot();
|
$this->screenshot = $this->takeScreenshot($browser);
|
||||||
$this->title = $browser->driver->getTitle();
|
$this->title = $browser->driver->getTitle();
|
||||||
$this->description = $this->findDescription($browser);
|
$this->description = $this->findDescription($browser);
|
||||||
|
|
||||||
|
@ -163,4 +170,14 @@ private function findDescription(DuskBrowser $browser)
|
||||||
|
|
||||||
return $description;
|
return $description;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function takeScreenshot(DuskBrowser $browser)
|
||||||
|
{
|
||||||
|
$contents = $browser->driver->takeScreenshot();
|
||||||
|
$image = Image::read($contents);
|
||||||
|
|
||||||
|
$this->screenshot = $image->toJpeg();
|
||||||
|
|
||||||
|
return $this->screenshot;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user