저는 일주일 동안 Laravel Dusk을 테스트 계획에 통합하려고했는데 실제로 예상 결과를 제공 할 수는 없습니다. 여기에 상황은 다음과 같습니다.우분투에서 Laravel Dusk을 올바르게 실행하십시오. 16 wt Laravel 5.5
- 내가 농가에 Laravel (55)를 실행 해요 (프로젝트 당 설치) PHP 7.1 * 내가 문서의 설치 단계에 따라 황혼를 설치했습니다.
상자 중 테스트가
작동하지 않았다 나는 this article on "Laravel Dusk on Homestead"에있는 단계를 추가 요점 내 프로비저닝 파일에 here in "setup-headless-selenium-xvfb.sh"이 발견했다. 이로 인해 많은 예외가 제거되었습니다.
나는 또한 추가 된 모든 기존 환경 내가 테스트를 실행할 때 그들은 그러나 지금
phpunit.xml
에서 이미 성공적으로 실행 phpunit을 테스트에서 그렇게 한대로 정확하게 내 phpunit.dusk.xml
파일의 PHP 노드에 바르 예상 출력을 얻을 수 없습니다. 이것이 내가하는 일이다. 나는 그런 나의 홈 페이지 ('/')보기 파일에 입력 필드를 추가
<?php
namespace Tests\Browser;
use Tests\DuskTestCase;
use Laravel\Dusk\Browser;
class ExampleTest extends DuskTestCase
{
public function testBasicExample()
{
$this->browse(function (Browser $browser)
{
$browser->visit('/')->refresh()
->assertValue('#dusk-test', '1234')
;
});
}
}
: <input id="dusk-test" value="1234">
나는 원래 예제 테스트의 모드이며, 유일한 시험이다이 테스트를 실행 ... php artisan dusk
을 실행하여이이 더욱 혼란, 내가 시험에서 덤프 때 내 출력하기 위해 모든 시간
PHPUnit 6.4.3 by Sebastian Bergmann and contributors.
E 1
/1 (100%)
Time: 1.07 seconds, Memory: 12.00MB
There was 1 error:
1) Tests\Browser\ExampleTest::testBasicExample
Facebook\WebDriver\Exception\NoSuchElementException: no such element:
Unable to locate element: {"method":"id","selector":"dusk-test"}
(Session info: headless chrome=62.0.3202.62)
(Driver info: chromedriver=2.32.498513 (2c63aa53b2c658de596ed550eb5267ec5967b351),platform=Linux 4.4.0-92-generic x86_64)
/home/vagrant/landing/vendor/facebook/webdriver/lib/Exception/WebDriverException.php:102 /home/vagrant/landing/vendor/facebook/webdriver/lib/Remote/HttpCommandExecutor.php:320
/home/vagrant/landing/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php:535
/home/vagrant/landing/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php:175
/home/vagrant/landing/vendor/laravel/dusk/src/ElementResolver.php:281
/home/vagrant/landing/vendor/laravel/dusk/src/ElementResolver.php:327
/home/vagrant/landing/vendor/laravel/dusk/src/Concerns/MakesAssertions.php:632
/home/vagrant/landing/tests/Browser/ExampleTest.php:22
/home/vagrant/landing/vendor/laravel/dusk/src/TestCase.php:92
/home/vagrant/landing/tests/Browser/ExampleTest.php:24
ERRORS!
Tests: 1, Assertions: 0, Errors: 1.
내 출력됩니다. 여기에 내가
<?php
namespace Tests\Browser;
use Tests\DuskTestCase;
use Laravel\Dusk\Browser;
class ExampleTest extends DuskTestCase
{
/**
* A basic browser test example.
*
* @return void
*/
public function testBasicExample()
{
$this->browse(function (Browser $browser)
{
$browser->visit('/')
->dump()
;
});
}
}
을 덤프하고 php artisan dusk
를 실행 한 후 내 출력은 다시 절대적으로 내 홈 페이지가 아닙니다
PHPUnit 6.4.3 by Sebastian Bergmann and contributors.
"<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body></body></html>"
방법입니다. 나는 또한 vendor/laravel/dusk/src/Browser.php
에서 $url
값을 버리고 내 프로젝트가 올바른 APP_URL
을 얻었습니다.
나는 손실에 처해있다. 황혼은 올바른 위치에 전송되고 있으며 페이지에는 명확하게 입력 값이 있습니다. 그러나, 나는 12345가 요소에서 검색된 것으로 예상되는 출력을 제공하기 위해 황혼을 얻을 수 없습니다.
모두에게 감사드립니다. 내가 말하고 아마도 어떤
나는 똑같은 문제가있다.chromedriver 디버깅을 통해 크롬이 올바른 끝점으로 이동하고 올바른 데이터를 반환하는지 확인할 수도 있습니다. –
HTTPS 사이트입니까? (더 이상 Selenium과 Xvfb는 필요하지 않습니다.) –
https 사이트가 아닙니다. 나는 현재 셀레늄을 사용하고 있지 않지만 Xvfb 세션을 시작하고있다. 이제 더 이상 필요하지 않습니까? 앞에서 언급했듯이 황혼에서부터 웹 페이지를 지시하는 크롬, 페이지 탐색 및 렌더링에 이르기까지 모든 것이 작동합니다. webdriver와 dusk 사이의 페이지 내용이 손실됩니다. –