Hi yanyan,
There are really multiple ways into doing test automation, the need for ID is not always there.
You can use ID/Classes/Field+attributes all things unique.
Next to that cypress has also a preffered way and that is using data-cy.
Please look at the best practices.
https://docs.cypress.io/guides/references/best-practices#How-It-Works