有没有办法在 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 个外部域时使用它。