The contacts page shows a spinner, then the table appears. Your test opens the page and immediately counts the rows. It finds zero and fails.
Nothing is wrong with the app. Your test arrived during the spinner. This lecture is about the three shapes this takes and what to do about each.
Content that arrives late.
The page loads, then data is fetched, then the list renders. The mistake is checking for a count too early: