laravel dusk 和 if else 语句

laravel dusk and if else statements

我正在使用 laravel dusk 来测试本地网站, 有一个提交可以转到 2 页之一,我想知道是否有人可以帮助我。

我正在使用 if elseif 语句,但无法查看下一个 url 路径的开头

 $this->browse(function (Browser $browser) {
                $browser->visit('/')
                    ->mouseover('@Appliances-mouseover')

                            ->type('@enter-city', 'Location')
                        ->type('@enter-postal-code', '0165')
                        ->click('@select-province')
                        ->click('@selected-province-some-province')
                        ->click('@select-hear-about-us')
                        ->click('@hear-about-us-email')
                        ->click('@agree-terms')
                        ->press('@submit-step-1');

       //                   prevet or step 3 forms in application B
                if ($URL = $browser- 
>assertPathBeginsWith('/application/prevet')) {
                    $browser->screenshot('Prevet form')
                        ->assertUrlIs('/application/prevet')
                        ->pause(25000);

                } elseif ($URL = $browser- 
>assertPathBeginsWith('/application/step3')) {
                    $browser->screenshot('step3 form')
                        ->assertUrlIs('/application/step3')
                        ->click('@uploadPayslip')
                        ->assertSee('Personal Documents')

TheFallen 的评论解释了为什么它不起作用。

你必须使用这样的东西:

$path = parse_url($browser->driver->getCurrentURL())['path'];
if (Str::startsWith($path, '/application/prevet')) {

} elseif (Str::startsWith($path, '/application/step3')) {

}