黄昏中用于URL断言的哪个函数?

时间:2019-01-29 12:38:41

标签: laravel testing laravel-dusk

public function testPagination()
{
    $this->browse(function($first)
    {
        $first->loginAs(\App\User::find(1))
              ->visit('http://mettledlp.in.linuxense.com/user');
    });
    $this->browse(function(Browser $browser)
    {
        $browser->visit('http://mettledlp.in.linuxense.com/mailLog?page=1')
                ->clickLink('2')
                ->assertUrlIs('http://mettledlp.in.linuxense.com/mailLog?page=2');
    });
}

错误 1)Tests \ Browser \ MessageTest :: testPagination 实际网址[http://mettledlp.in.linuxense.com/mailLog?page=2]不等于预期网址[http://mettledlp.in.linuxense.com/mailLog?page=2]。 无法断言'http://mettledlp.in.linuxense.com/mailLog'与PCRE模式“ /^http://mettledlp.in.linuxense.com/mailLog\?page\=2$/u”相匹配。

两个URL对我来说似乎都是相同的。我试图单击分页导致的“ 2”。屏幕截图显示单击已成功完成。 当我运行命令php artisan黄昏时。我弹出的错误提示,测试失败。

2 个答案:

答案 0 :(得分:0)

assertUrlIs断言当前URL(没有查询字符串)与给定的字符串匹配:

$browser->assertUrlIs($url);

Laravel Dusk没有提供将URL与查询字符串匹配的方法。

您可以这样做

$this->assertEquals($browser->driver->getCurrentURL() , 'your-url');

答案 1 :(得分:0)

断言给定的查询字符串参数存在并且具有给定的值:

$browser->assertQueryStringHas($name, $value);

所以你可以用这样的查询字符串测试网址:

$browser->visit('mettledlp.in.linuxense.com/mailLog?page=1')
->clickLink('2')
->assertUrlIs('mettledlp.in.linuxense.com/mailLog')
->assertQueryStringHas('page','2');