有没有办法在 Laravel Dusk 中断言当前的 URL 值?
Is there a way to assert current URL value in Laravel Dusk?
我正在使用 Laravel Dusk 测试带有子域路由的 Web 应用程序。如果某种验证无效,我在子域之间进行了一些重定向。
所以,我的目标是 visit
一个 URL $a
然后断言我被重定向了,新的 URL 是 $b
。
我能做到:
$browser->visit($a);
但是我不知道在检查当前 URL 之后该怎么做。
这是在 Laravel Dusk 中检查 URL 值的方法:
$browser->visit($a);
$url = $browser->driver->getCurrentURL();
$this->assertEquals($b, $url);
您可以使用 assertUrlIs()
:
$browser->assertUrlIs($b);
TLDR:最方便的是 assertPathIs()
A) 使用assertPathIs()
断言当前相对路径与给定路径匹配。
$browser->visit('/admin')
->assertPathIs('/login');
B) 使用 assertUrlIs()
断言当前 URL 匹配给定的 URL.
$browser->visit('/admin')
->assertUrlIs('http://fullhost.com/login');
请注意,您必须为此提供完整的 URL。当您有 URL 个外部域时使用它。
我正在使用 Laravel Dusk 测试带有子域路由的 Web 应用程序。如果某种验证无效,我在子域之间进行了一些重定向。
所以,我的目标是 visit
一个 URL $a
然后断言我被重定向了,新的 URL 是 $b
。
我能做到:
$browser->visit($a);
但是我不知道在检查当前 URL 之后该怎么做。
这是在 Laravel Dusk 中检查 URL 值的方法:
$browser->visit($a);
$url = $browser->driver->getCurrentURL();
$this->assertEquals($b, $url);
您可以使用 assertUrlIs()
:
$browser->assertUrlIs($b);
TLDR:最方便的是 assertPathIs()
A) 使用assertPathIs()
断言当前相对路径与给定路径匹配。
$browser->visit('/admin')
->assertPathIs('/login');
B) 使用 assertUrlIs()
断言当前 URL 匹配给定的 URL.
$browser->visit('/admin')
->assertUrlIs('http://fullhost.com/login');
请注意,您必须为此提供完整的 URL。当您有 URL 个外部域时使用它。