Laravel Dusk - 如何单击列表中的每个项目?

问题描述 投票:0回答:1

我有一个包含链接列表的页面。

我可以使用类选择器“.promotional-item-link”访问这些链接

如何单击循环遍历所有链接,单击每个项目并测试所有这些页面上是否存在特定的[全部相同]字符串?

我怎样才能

  • 根据类别提取项目
  • 循环遍历每一个来执行 ->visit 和 ->assert ?
laravel laravel-10 laravel-dusk
1个回答
0
投票

以下代码有效:

public function testBasicEx(): void
{
    
    $this->browse(function (Browser $browser) {

        $links=$browser->visit('/')->elements('.promotional-item-link');;
     
        $linkstext=[];

        foreach ($links as $key=>$elem) {
            array_push($linkstext,$elem->getText());
        }

        foreach ($links as $key=>$elem) {
            $browser->visit('/')->clickLink($linkstext[$key])->assertSee('ciao');
        }
   
    });
}

第一个foreach似乎没有必要,但是在第一次迭代后直接在第二个foreach中提取链接文本失败了(我不知道为什么)

© www.soinside.com 2019 - 2024. All rights reserved.