【问题标题】:How flipkart is accessing dom elements for integration testing?Flipkart 如何访问 dom 元素以进行集成测试?
【发布时间】:2018-11-05 08:41:49
【问题描述】:

我刚刚注意到,Flipkart 在它们的 dom 元素中大多具有随机名称的类(不确定它是静态的还是随着每次构建而变化),就像我们使用 styled-components 库一样。

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

更新:对于使用像 selenium 这样的测试框架访问元素,他们使用的是哪个 locator(id, classes, xpath)?

【问题讨论】:

  • 请澄清您的具体问题或添加其他详细信息以准确突出您的需要。正如目前所写的那样,很难准确地说出你在问什么。请参阅How to Ask 页面以获得澄清此问题的帮助。如果这个问题可以改写以符合help center 中的规则,请edit the question
  • 我已经更新了这个问题,实际上,我想知道我们如何访问测试框架中的 dom 元素,当我们不提供 id 时,类是随机名称。
  • 除了flipart 团队,没有人能告诉你。如果您的问题适用于暴露类似行为的其他应用程序,请考虑更新问题。

标签: javascript reactjs selenium integration-testing


【解决方案1】:

随机类名和其他元素标识符有助于防止应用程序滥用,尤其是抓取和广告拦截。这也妨碍了应用程序的有效调试和测试。

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

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

【讨论】:

    猜你喜欢
    • 2018-10-14
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 2010-11-15
    • 1970-01-01
    • 1970-01-01
    • 2019-04-08
    • 2012-10-15
    相关资源
    最近更新 更多