Как сделать снимок экрана с помощью библиотеки duncan3dc / dusk?

Я использую 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

Решение

Согласно изменений от версии 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
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]