Day24 跟着官方文件学习Larave-Dusk

Laravel Dusk 提供我们浏览器自动化及测试 API。首先把套件引入

composer require --dev laravel/dusk

再来我们利用 dusk:install 来创建 tests/Browser 目录

php artisan dusk:install

接着我们可以开始看一下 tests/DuskTestCase.php 这个档案,里面主要是基本 Dusk 测试用例,我们要把 startChromeDriver 删除,不删除会开启Chrome。

接下来设置一个测试档案

php artisan dusk:make LoginTest

我们可以看到 tests/Browser 中有 LoginTest.php 这个档案,稍微编辑一下

public function testExample()
    {
        $this->browse(function (Browser $browser) {
            $browser->visit('/')
                    ->assertSee('我是首页');
        });
    }

接着测试看看

php artisan dusk

我们接着试着用他登入

class LoginTest extends DuskTestCase
{
    use DatabaseMigrations;
    /**
     * A Dusk test example.
     *
     * @return void
     */
    public function testBrowser()
    {
        User::create([
            'account' => 'Jim',
            'password' => Hash::make('ANDf3_'),
            'name' => 'Jim'
        ]);
    
        $this->browse(function ($browser) {
            $browser->visit('/login')
                ->type('account', 'Jim')
                ->type('password', 'ANDf3_')
                ->press('login')
                ->assertPathIs('/login');
        });
    }
}

我们用 DatabaseMigrations 这个trait来让DB在测试完後恢复原状,并访问登入页面,模拟输入帐密後,按下登入键的情境。

得到的结果

今天先介绍简单的测试方法,明天再见罗!


<<:  Day 23 : 案例分享(7.2) 库存与制造 - 供应商直运、制造出货、采购出货(自动化库存调拨)

>>:  DAY 26 Big Data 5Vs – Veracity(准确性) AGQ

Day 29: 来讲一下commit前的小撇步

今天来讲一些使用套件来方便我们做自动化的一些流程,今天要提的是lint-staged与husky. ...

我们的基因体时代-AI, Data和生物资讯 Day06- 蛋白质结构和机器学习01

上一篇我们的基因体时代-AI, Data和生物资讯 Day05- 深度学习在基因体学的建模架构02上...

Day 16 - 透过Vuex来管理状态

Vuex 是 Vue中用来管理状态的函式库,像是使用者的登入状态,就可以把它存入Vuex中。 htt...

DAY 29『 从相簿选取照片( 有裁剪照片功能 ) 』ImagePicker - Part1

昨天介绍完使用相机拍照,今天会分享如何从相簿选取照片 成品: 拉一个 Button 、 ImageV...

第 13 天 长痛不如短痛!整理专案|feature module、shared module

前情提要 完成了新增英雄页面、英雄资讯元件後,在我们劝诱青铜五小强之前,让我们先停一停,来重构整个专...