gpt4 book ai didi

php - 断言页面上有一定数量的元素

转载 作者:行者123 更新时间:2023-12-02 01:17:00 27 4
gpt4 key购买 nike

我正在用 Laravel Dusk 编写一个测试,以确保索引页面上有 10 篇文章。

下面是一些 HTML 代码:

<h1>A list of articles</h1>
<ul>
@foreach($articles as $article)
<li class="article-item"> {{ $article->title }}</li>
@endforeach
</ul>

我在想,在我的测试文件中,我可以先选择所有 li.article-item然后断言有 10 个这样的元素。

代码可能是:
$this->browse(function ($browser) {
$browser->visit('/articles')
->assertSee('A list of articles');
// no such method
$elements = $browser->findElements('.article-item');

$this->assertCount(10, $elements);

});

但实际上,看起来 Laravel Dusk 不支持一次选择多个元素。那么在这种情况下,我该如何构建我的测试呢?在 Dusk 中我是否有机会使用 WebDriver API 来选择这些元素?

谢谢!

最佳答案

事实证明,$browser 实例存储了它正在使用的驱动程序,这意味着在测试方法中,我实际上可以通过 WebDriver API 选择 HTML 元素。

所以一个可能的解决方案可能是

/** @test */
public function it_displays_a_list_of_articles()
{
$this->browse(function ($browser) {
$browser->visit('/articles');
$elements = $browser->driver->findElements(WebDriverBy::className('article-item'));
$this->assertCount(10, $elements);
});
}

关于php - 断言页面上有一定数量的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42218337/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com