Я использую duncan3dc
модуль в laravel, успешно импортирующий текст из примера по умолчанию Но я не знаю, как сделать снимок экрана,
Я только что установил этот модуль с помощью Composer.
$ composer requires duncan3dc/dusk.
Значит ли это, что все необходимое для этого модуля устанавливается автоматически?
Или мне нужно что-то еще, чтобы сделать скриншот?
Ниже код моего контроллера
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use duncan3dc\Laravel\Dusk;
class TestController extends Controller
{
public function test()
{
$dusk = new Dusk;
$dusk->visit("http://example.com");
$dusk->screenshot("ddd");
echo $dusk->element("h1")->getText() . "\n";
}
}
Когда я запускаю приведенный выше код, я получаю эту ошибку:
file_put_contents (/tmp/ddd.png): не удалось открыть поток: такого файла нет
или каталог
Я думаю, что нет папки, поэтому я получаю ошибку, где я должен создать папку в папке проекта?
Согласно изменений от версии 0.8.0
Вы можете пройти полный путь к screenshot
метод. Таким образом, это будет работать (вы должны увидеть файл ddd.png
создано рядом с файлом php):
$dusk = new Dusk;
$dusk->visit("http://example.com");
$dusk->screenshot("./ddd.png");
echo $dusk->element("h1")->getText() . "\n";
Вы также можете пройти абсолютный путь:
$dusk->screenshot("C:\windows\temp\ddd.png"); // if you are using windows
или же
$dusk->screenshot("/tmp/ddd.png"); // if you are using macos/linux
Других решений пока нет …