/** * Create screenshot for an element * * @param string $referenceImageName * @param RemoteWebElement $element * @return \Imagick */ protected function _createScreenshot($referenceImageName, RemoteWebElement $element) { // Try scrolling the element into the view port $element->getLocationOnScreenOnceScrolledIntoView(); $tempImagePath = $this->moduleFileSystemUtil->getTempImagePath($referenceImageName); $this->webDriver->webDriver->takeScreenshot($tempImagePath); $image = new \Imagick($tempImagePath); $image->cropImage($element->getSize()->getWidth(), $element->getSize()->getHeight(), $element->getCoordinates()->onPage()->getX(), $element->getCoordinates()->onPage()->getY()); $image->setImageFormat('png'); $image->writeImage($tempImagePath); return $image; }