私はLaravel Duskをテストスキームに1週間統合しようとしており、実際に期待される結果を出すためのテストはできません。ここでは状況があります:UbuntuでLaravel Duskを正しく実行する16 wt Laravel 5.5
- 私は、PHP 7.1で(プロジェクトごとにインストール)ホームステッドでLaravel 55を実行している*
- 私はドキュメントのインストール手順以下の夕暮れを設置しました。
ボックスのうちのテストが
動作しませんでした私はthis article on "Laravel Dusk on Homestead"で見つかったステップを追加し、要点は私のプロビジョニングファイルへhere in "setup-headless-selenium-xvfb.sh"これを見つけました。これにより、私が得ていた多くの例外が削除されました。
は、私はまた、すべての私の既存の環境は、彼らは私がテストを実行したときにすでに正常しかし今
phpunit.xml
からPHPUnitテストを実行するにして行われたとおりに、私のphpunit.dusk.xml
ファイルのPHPのノードにvarsの追加しました私は期待される出力を得ることができません。これは私がやっていることです。私のような私のホームページ(「/」)ビューファイルに入力フィールドを追加します。
<?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">
は、私は、元のサンプルテストのMODであり、唯一のテストであるこのテストを実行します... 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が要素から取り出されたことになると予想される出力をDuskに与えることができません。
すべてのお役に立ちました。
私は全く同じ問題があります。私はchromedriverのデバッグを通して、クロムが正しいエンドポイントに送られ、正しいデータを返すことさえ確認できます。 –
HTTPSサイトですか? (BTW:もうSeleniumとXvfbは必要ありません) –
これはhttpsサイトではありません。私は現在Seleniumを使用していませんが、まだXvfbセッションを開始しています。それはもはや必要ではないですか? 私が前に述べたように、夕暮れからウェブ・ドライバーへのクロムのナビゲートとレンダリングのページはすべて動作しています。 Webdriverとduskの間でページの内容が失われます。 –