laravel Dusk:简化JavaScript应用程序的端到端浏览器测试
>本文探讨了Laravel Dusk,这是一个强大的浏览器测试库,专为Laravel应用程序而设计,尤其是那些非常依赖JavaScript的应用程序,例如单页应用程序(SPA)。 黄昏通过提供一致的API和有用的调试功能来简化端到端测试的过程。
Laravel Dusk的关键优势:
统一的API:
>安装:
使用Composer安装软件包:
。 推荐的方法是在您的composer require laravel/dusk
中有条件注册它,以避免将其加载到生产中:
DuskServiceProvider
运行安装命令:AppServiceProvider
<code class="language-php">namespace App\Providers; use Illuminate\Support\ServiceProvider; use Laravel\Dusk\DuskServiceProvider; class AppServiceProvider extends ServiceProvider { public function register() { if ($this->app->environment('local', 'testing')) { $this->app->register(DuskServiceProvider::class); } } }</code>
php artisan dusk:install
>让我们创建一个简单的登录测试(假设您使用
生成黄昏测试案例:>
php artisan make:auth
写测试:
php artisan dusk:make LoginTest
<code class="language-php">class LoginTest extends DuskTestCase { public function testSuccessfulLogin() { $this->browse(function ($browser) { $browser->visit('/login') ->type('email', 'testuser@example.com') ->type('password', 'password') ->press('Login') ->assertSee('You are logged in!'); }); } }</code>
php artisan dusk
屏幕截图保存在
>
测试ajax调用:
waitUntilMissing
>使用>:
waitUntilMissing
<code class="language-php">namespace App\Providers; use Illuminate\Support\ServiceProvider; use Laravel\Dusk\DuskServiceProvider; class AppServiceProvider extends ServiceProvider { public function register() { if ($this->app->environment('local', 'testing')) { $this->app->register(DuskServiceProvider::class); } } }</code>
> 黄昏的方法允许您与动态出现的元素(例如模态)进行交互。
whenAvailable
使用黄昏页面以进行可重复使用:>
黄昏页面通过封装共同的页面互动和断言来促进代码可重复使用。
结论: >(FAQS部分省略了,因为它是原始输入的FAQ部分的直接副本。
以上是Laravel Dusk-所有人的直观且易于浏览器测试!的详细内容。更多信息请关注PHP中文网其他相关文章!