与自动化代码不同,Tweeter 的 twitter 组件中的 data-testid 是什么?

What is data-testid in twitter components for Tweeter Unlike Automation Code?

我想对 Twitter 上所有喜欢的推文点赞。由于 React 是使用 tweeter 开发的,所以我想用代码来做这件事。我在 Github 中找到了心爱的代码,我们应该在开发者控制台上 运行。

setInterval(() => {
  for (const d of document.querySelectorAll('div[data-testid="unlike"]')) {
    d.click()
  }
  window.scrollTo(0, document.body.scrollHeight)
}, 1000)

所以此代码将每 1000 毫秒 运行 一次,我将自行滚动。但是我想知道使用数据测试这里为什么不使用普通的class或者id to select tweet like button? data-testid 和 id 有什么区别?

这是与组件不同的推文图片

data-testId 属性应该用作测试代码的句柄。它是一个标记,表示“不要更改此 class,因为测试依赖它”。

如果这不是上面的测试代码,那么很可能是草率的编程实践,即一个错误。 TestId 不应在实际 运行 代码 imo 中使用。