Среда :
Сумерки 5.0.2, Laravel 5.7.28, PHP 7.2.14, PHPUnit 7.5.8, MySQL 5.7, Laravel Homestead, ChromeDriver 2.45.615279
Проблемы :
№1
Исключение в тестах \ Browser \ :: tearDownDuskClass Ошибка Curl для http DELETE для / session / e76b9bfe8c9f9af519c2901601531c6a
Тайм-аут операции после 30000 миллисекунд с получением 0 байтов
№2
Facebook \ WebDriver \ Exception \ WebDriverCurlException: ошибка скручивания, выданная для http POST to / session / ce9d54d51ec982ff77aa5ca202159ca/ log с параметрами: {"type": "browser"}
Тайм-аут операции после 30001 миллисекунды с получением 0 байтов
Вызвано Facebook \ WebDriver \ Exception \ WebDriverCurlException: ошибка Curl, выданная дляhttp GET to / session / ce9d54d51ec982ff77aa5ca202159ca4 / screenshot
Тайм-аут операции после 30001 миллисекунды с получением 0 байтов
Класс тестирования :
class MyTest extends DuskTestCase
{
use DatabaseMigrations, WithFaker;
public function testExample()
{
$user = \factory(User::class)->create();
$this->browse(function (Browser $browser) use ($user) {
$browser
->loginAs($user)
->visitRoute(/**/)
->waitForText(/**/)
->type(/**/)
->type(/**/)
->type(/**/)
->attach(/**/, /**/)
->press(/**/)
->waitForText(/**/)
->assertSeeIn(/**/)
->click(/**/)
->assertSeeIn(/**/)
->click(/**/); //new tab is opened
$windows = collect($browser->driver->getWindowHandles());
//navigate to new tab
$browser->driver->switchTo()->window($windows->last());
$browser->assertPathIs(/**/);
});
}
}
Исключения выбрасываются случайным образом.Обычно самый первый тест после запуска моей виртуальной машины завершается успешно.
Обновление: временно решается с помощью
$window = $browser->driver->getWindowHandles()[1];
$browser->driver->switchTo()->window($window);
Обновление 2: даже этот код в конце теста вызывает ошибку
$browser->driver->switchTo()->window($browser->driver->getWindowHandles()[1]);
$browser->screenshot('scr');
$browser->driver->switchTo()->window($browser->driver->getWindowHandles()[0]);