Если у меня есть ссылка:
<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"]')
Это немного глупо, но это то, что я нашел в качестве обходного пути.
Поместите селектор идентификатора на ссылку.
<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');
});
}