微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

赛普拉斯/ React-Admin表排序问题

如何解决赛普拉斯/ React-Admin表排序问题

在这里寻找灵感。我使用的是react-admin,它是一个基于Material-ui的框架,并与Cypress一起进行e2e测试,并且无法进行表排序。

react-admin github项目中有一个赛普拉斯测试,用于测试表排序,但是它所做的只是查看单击表标题切换排序后是否显示上/下指示符。这是一个UI测试,而不是端到端测试,因为它不查看实际数据以查看数据是否已排序。

就我而言,当您更改排序顺序时,会发出API请求,并且UI会从API呈现新的排序数据。

但是,尽管赛普拉斯在排序之前使用.contains()正确地检查了第一行的内容,但是一旦排序完成,赛普拉斯仍然会像表中的第一行包含相同的数据一样进行响应,而不是我可以在屏幕上看到新数据。我检查了源,并且DOM已更新为新订单。

就像某个地方正在缓存,我不知道在哪里。

我无法共享完整的代码,因为它是复杂且专有的,但我将其简化为一个最小的示例,可以在https://gitlab.com/notifium_public/cypress-table-sort

获得。

这使用react-admin自己的演示站点

只需:

git clone https://gitlab.com/notifium_public/cypress-table-sort.git
npm install
npm run test

然后在赛普拉斯中运行table_sort.js测试。

您将看到测试登录,检查第一行,然后单击列标题并再次检查该第一行。数据是随机的,因此我能想到的最好的检查方法是检查新的第一行是否不包含2020年“最后一次见到”日期的客户。

从外观上看,第一行中的新条目将是2016/2017,但测试失败,因为它仍然引用了原始2020行。

有什么想法吗? 问候, 安迪

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。