8

如果我有链接:

<a href="/somewhere">Click Me</a>

我知道我可以clickLink根据它的文字。

public function testCanClickLink()
{
    $this->browse(function ($browser) {
        $browser->visit('/welcome')
                ->clickLink('Click Me');
    });
}

但是我怎样才能点击一个图标链接呢?

<a href="/somewhere">
    <i class="fa fa-plus" aria-hidden="true"></i>
</a>
4

2 回答 2

8

您可以像这样定位href:

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

于 2017-07-21T14:09:24.660 回答
3

这有点hacky,但这是我想出的解决方法。

  1. 在链接上放置一个 id 选择器。

    <a id="link-click-me" href="/somewhere">
        <i class="fa fa-plus" aria-hidden="true"></i>
    </a>
    
  2. 断言它是可见的。

  3. 获取 href 属性。
  4. 访问它。
  5. 断言路径正确。

    public function testCanClickLink()
    {
        $this->browse(function ($browser) {
            $browser->visit('/welcome')
                    ->assertVisible('#link-click-me')
                    ->visit(
                        $browser->attribute('#link-click-me', 'href')
                    )
                    ->assertPathIs('/somewhere');
        });
    }
    
于 2017-02-26T16:46:04.487 回答