Cypress和有关测试Web应用程序的许多其他文章都建议依靠data-cy或data-test-id之类的数据属性来定位元素,而不是依靠id属性。
我的理解是,有两个原因:
有人可以进一步介绍一下建议吗?
我正在考虑的另一件事是要求我的开发人员将“ data-test *”属性放置在会消耗该组件的div标签上-这样,test属性实际上比该组件的id属性高了一个级别,并且可能即使在使用同一组件的多个实例的情况下也很方便。但是同样,我不确定在比较data-test *属性时为什么那个div标签的id属性不好。