如果我有链接:
<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>
您可以像这样定位 href:
->click('a[href="/somewhere"]')
这有点hacky,但这是我想出的解决方法。
在链接上放置一个 id 选择器。
<a id="link-click-me" href="/somewhere">
<i class="fa fa-plus" aria-hidden="true"></i>
</a>
断言它是可见的。
断言路径正确。
public function testCanClickLink()
{
$this->browse(function ($browser) {
$browser->visit('/welcome')
->assertVisible('#link-click-me')
->visit(
$browser->attribute('#link-click-me', 'href')
)
->assertPathIs('/somewhere');
});
}
我有同样的疑问......最糟糕的是,我无法使用 href 作为可点击元素的引用,因为我只需要打开一个模式。所以,我的解决方案是使用 dusk 属性,如下所示:
<a dusk="link-click-me" href="">
<i class="fa fa-plus" aria-hidden="true"></i>
</a>
并且......在我的测试代码中,运行这一行:
$browser->click('@link-click-me');
享受吧! Ø/