0

我是新手 Laravel Dusk。我正在尝试编写一个单击链接 a[href] 然后 assertSee 的场景。我一直在度过一整天,但就是不能。

<li>
                    <a href="{{url('/administrator')}}/create" id="create-new-agent" ><div class="pull-left"><i class="zmdi zmdi-smartphone-setup mr-20"></i><span class="right-nav-text">New Admin</span></div><div class="clearfix"></div></a>
                </li>

我的场景

/** @test */
    public function can_create_admin_with_authentication()
    {
        $admin = factory(Admin::class)->create([
            'email' => 'abc@abc.com',
            'password' => bcrypt('123456')
        ]);
        $this->browse(function (MyBrowser $browser) {
            $browser->loginAs(Admin::find(1))
                ->click('a[href="/administrator/create"]')
                ->assertSee('Create');
        });

    }

我不是使用 CSSselector 的忠实粉丝。无论如何我可以使用xpath或使用链接的ID ...

非常感谢

4

1 回答 1

1

我已经验证过了,你可以没有任何问题,而不是:

->click('a[href="/administrator/create"]')

采用

->click('#create-new-agent')

它会起作用。

我看到你也想念跑步visit() 方法。整个测试应该是这样的:

public function can_create_admin_with_authentication()
{
    $admin = factory(Admin::class)->create([
        'email' => 'abc@abc.com',
        'password' => bcrypt('123456')
    ]);
    $this->browse(function (MyBrowser $browser) {
        $browser->loginAs(Admin::find(1))->visit('/your/url')
            ->click('#create-new-agent')
            ->assertSee('Create');
    });

}

代替/your/url放置您要访问的网址,例如/用于主页。

于 2017-10-09T18:15:57.273 回答