首页 >后端开发 >php教程 >Laravel Dusk-所有人的直观且易于浏览器测试!

Laravel Dusk-所有人的直观且易于浏览器测试!

Jennifer Aniston
Jennifer Aniston原创
2025-02-10 10:18:111001浏览

laravel Dusk:简化JavaScript应用程序的端到端浏览器测试

>本文探讨了Laravel Dusk,这是一个强大的浏览器测试库,专为Laravel应用程序而设计,尤其是那些非常依赖JavaScript的应用程序,例如单页应用程序(SPA)。 黄昏通过提供一致的API和有用的调试功能来简化端到端测试的过程。

Laravel Dusk - Intuitive and Easy Browser Testing for All! Laravel Dusk的关键优势:

统一的API:黄昏提供一个用于浏览器测试的单个直观的API,无论其基础浏览器引擎如何

    视觉调试:
  • 失败的测试会在失败点自动生成浏览器状态的屏幕截图,从而极大地有助于识别和解决问题。>
  • ajax支持:黄昏无缝处理Ajax呼叫,允许您测试异步交互并等待响应,对现代Web应用程序至关重要。
  • Laravel Dusk:
  • >教程假设了一个新的Laravel 5.4应用程序。
>

>安装:

使用Composer安装软件包:

  1. 注册

    。 推荐的方法是在您的composer require laravel/dusk中有条件注册它,以避免将其加载到生产中:

  2. 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>
    >您的第一个黄昏测试:
  1. > php artisan dusk:install>让我们创建一个简单的登录测试(假设您使用
  2. >设置了Laravel的身份验证脚手架):

生成黄昏测试案例:>

php artisan make:auth写测试:

  1. 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>
    处理测试失败:>>
  1. 黄昏通过在测试失败时捕获屏幕截图来增强调试。 此视觉反馈显着加快了故障排除过程。php artisan dusk

Laravel Dusk - Intuitive and Easy Browser Testing for All! 屏幕截图保存在

>目录中。

>

Laravel Dusk - Intuitive and Easy Browser Testing for All!

测试ajax调用: 在测试AJAX相互作用方面,黄昏擅长。

方法对于等待异步操作完成特别有用。

waitUntilMissing

>使用Laravel Dusk - Intuitive and Easy Browser Testing for All! >:

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

使用黄昏页面以进行可重复使用:Laravel Dusk - Intuitive and Easy Browser Testing for All! > 黄昏页面通过封装共同的页面互动和断言来促进代码可重复使用。

>

结论: Laravel Dusk

>(FAQS部分省略了,因为它是原始输入的FAQ部分的直接副本。

以上是Laravel Dusk-所有人的直观且易于浏览器测试!的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn