Я пишу несколько тестов и хочу посмотреть, правильно ли Dusk заполняет поля ввода, но Dusk не показывает браузер во время выполнения тестов, есть ли способ заставить его это сделать?
Laravel Dusk как показать браузер при выполнении тестов
comment
Вы бежите из усадьбы или снаружи? Если внутри не будет дисплея для просмотра. Если снаружи он должен зажигать хром для каждого теста.
- person Andrew Bibby   schedule 20.04.2018
comment
Вы можете использовать для этого скриншоты?
- person Jonas Staudenmeir   schedule 20.04.2018
comment
@AndrewBibby Я не использую Homestead / Vagrant
- person Petar Vasilev   schedule 21.04.2018
comment
@JonasStaudenmeir Думаю, я могу это сделать, но было бы проще, если бы браузер был виден
- person Petar Vasilev   schedule 21.04.2018
Ответы (3)
Отключить безголовый режим в функции tests\DuskTestCase.php
файл driver()
:
$options = (new ChromeOptions)->addArguments([
//'--disable-gpu',
//'--headless'
]);
person
Jonas Staudenmeir
schedule
21.04.2018
может что-то изменилось, но тесты просто зависают вечно, когда я комментирую эти строки, ни одно окно не открывается
- person MightyPork; 09.01.2019
На какой ОС вы работаете?
- person Jonas Staudenmeir; 09.01.2019
arch linux (--- заполнение для заполнения минимальной длины комментария)
- person MightyPork; 10.01.2019
Вы используете последнюю версию ChromeDriver?
- person Jonas Staudenmeir; 10.01.2019
блин, это ты ... ты уже спрашивал меня об этом в том выпуске на github, лол * объясняет, почему это тоже не работает ...
- person MightyPork; 11.01.2019
Вверху вашего tests/DuskTestCase.php
файла добавьте:
use Facebook\WebDriver\Chrome\ChromeOptions;
В том же файле замените всю функцию driver()
на:
/**
* Create the RemoteWebDriver instance.
*
* @return \Facebook\WebDriver\Remote\RemoteWebDriver
*/
protected function driver() {
$options = (new ChromeOptions)->addArguments([
//'--disable-gpu',
//'--headless'//https://stackoverflow.com/q/49938673/470749
]);
return RemoteWebDriver::create(
'http://localhost:9515', DesiredCapabilities::chrome()->setCapability(
ChromeOptions::CAPABILITY, $options
)
);
}
person
Ryan
schedule
25.11.2018
См. Также laracasts.com/discuss/channels/ testing / и stackoverflow.com/a/47960068/470749 и laracasts.com / обсудить / каналы / тестирование /
- person Ryan; 13.12.2018
Обновлено (2021 г.):
Вы можете отключить Headless двумя способами:
Метод 1: добавьте это в свой .env
DUSK_HEADLESS_DISABLED=true
Метод 2: добавьте его в свой специальный тестовый пример, если вам не нужно открывать браузер для всех тестов.
protected function hasHeadlessDisabled(): bool
{
return true;
}
Кстати, я не знаю, почему они не упоминаются в документации. Я сам нашел указанные выше методы из DuskTestCase. а>.
person
Tuan Ha
schedule
17.05.2021