我正在使用 Laravel Dusk 编写一个测试,以确保索引页上有 10 篇文章。
下面是一些 HTML 代码:
<h1>A list of articles</h1>
<ul>
@foreach($articles as $article)
<li class="article-item"> {{ $article->title }}</li>
@endforeach
</ul>
Run Code Online (Sandbox Code Playgroud)
我想在我的测试文件中我可以首先选择所有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);
});
Run Code Online (Sandbox Code Playgroud)
但实际上,Laravel Dusk 似乎不支持一次选择多个元素。那么在这种情况下我该如何构建我的测试呢?在 Dusk 中我有可能使用 WebDriver API 来选择这些元素吗?
谢谢你!
当我尝试在Laravel 5中使用Paginator时,我遇到了一个奇怪的问题.数据和分页信息已经准备好了,但是当我在刀片中调用$ model-> render()时,页面链接完全错误.
以下是控制器中的一些示例代码:
public function index()
{
$articles = Article::latest('published_at')->paginate(3);
return view('articles/index')->with('articles',$articles);
}
Run Code Online (Sandbox Code Playgroud)
和刀片中的代码:
{!! $articles->render() !!}
Run Code Online (Sandbox Code Playgroud)
最后是路线中的代码:
Route::get('articles',array('as' => 'article-list','uses' => 'ArticleController@index'));
Run Code Online (Sandbox Code Playgroud)
问题是Laravel会为不同的页面生成错误的URL:example.com/articles/?page = 2 ,with additional/before?.
有一种解决方法可以在将数据传递给视图之前通过调用setPath()来更正URL,现在链接可以正常工作,如下所示:
$articles = Article::latest('published_at')->paginate(3);
$articles->setPath('articles');
return view('articles/index')->with('articles',$articles);
Run Code Online (Sandbox Code Playgroud)
但是还有其他选项来生成Laravel 5中页面的正确链接吗?我错过了什么?
谢谢.
环境更新:xampp.