iT邦幫忙

2021 iThome 鐵人賽

DAY 29
1
Modern Web

當拉拉肉遇到單元測試,是否能夠擦出命運的火花?系列 第 30

[Day 29] 使用ChromeDriver來做單元測試(二)

接下來我們新增一個測試檔案
php artisan dusk:make UserDriverTest
https://ithelp.ithome.com.tw/upload/images/20210930/20105694m2V5s7iYud.png

然後將原本的方法刪掉,
新增一個方法,
我們仿照之前的方法來測試登入頁

<?php

namespace Tests\Browser;

use Illuminate\Foundation\Testing\DatabaseMigrations;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;

class UserDriverTest extends DuskTestCase
{
    public function test_login_page_login()
    {
        $this->browse(function (Browser $browser) {
            $browser->visit('/home/index')
                    ->type('account', 'admin')
                    ->type('password', 'admin')
                    ->check('terms')
                    ->press('登入')
                    ->assertPathIs('/home/main');
        });
    }
}

跟之前的寫法類似但不大一樣,
舊版的test的name要放後面,
而dusk的name要放前面,
確認Path的語法也不一樣。

然後我們執行測試看看
php artisan dusk
https://ithelp.ithome.com.tw/upload/images/20210930/20105694UcBXpPfd3L.png

我們成功測試了登入頁!
但是ChromeDriver的速度會比較慢,
所以除非是需要用到Js render的頁面,
要不然其實是不需要用到ChromeDriver的。


上一篇
[Day 28] 使用ChromeDriver來做單元測試(一)
下一篇
[Day 30] 使用ChromeDriver來做單元測試(三)
系列文
當拉拉肉遇到單元測試,是否能夠擦出命運的火花?31

尚未有邦友留言

立即登入留言