javascript - Flipkart 如何访问 dom 元素进行集成测试?

标签 javascript reactjs selenium integration-testing

我刚刚注意到,Flipkart 在其 dom 元素中大部分具有随机名称的类(不确定它是静态的还是随每个构建而变化),就像我们使用样式组件库一样。

我只是想知道,他们如何访问 dom 元素进行集成测试?

更新:使用像 selenium 这样的测试框架访问元素,它们使用哪个定位器(id、类、xpath)? enter image description here

最佳答案

随机类名和其他元素标识符对于防止应用程序误用非常有用,特别是抓取和广告拦截。这也阻碍了应用程序的有效调试和测试。

一个好的做法是提供 Debug模式,该模式将产生确定的标识符。例如,标识符可以是伪随机的,并在 Debug模式下使用指定的盐进行哈希处理,randomize('foo') 将在测试环境、控制台和应用程序本身中产生相同的字符串:

function randomize(identifier) {
  return hash(DEBUG_MODE ? getSpecifiedSalt() : getRandomSalt() + identifier);
}

关于javascript - Flipkart 如何访问 dom 元素进行集成测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53150917/

相关文章:

javascript - 具有多个元素的 SVG 悬停状态

javascript - 我怎样才能回调函数?

javascript - 显示失败测试中预期和接收的全部输出

javascript - React JavaScript 是否支持 jQuery?

javascript - 单击排序按钮后数据不会重新呈现

angularjs - Selenium 并行测试在多个浏览器实例之间运行冲突 b/c 共享本地存储?

c# - 为什么 C# 和 ECMAScript 规范在可读性上存在很大差异?

reactjs - tomcat apache 8 服务器上的 Pentaho API(端口 - 8080)在通过不同的 Web 应用程序(react JS,端口 - 3000)调用时会出现 COR 问题

java - Selenium:我应该选择什么预期条件

java - testng - 获取包含失败测试的类的名称