【问题标题】:Applying test classes to dynamic page elements with jQuery使用 jQuery 将测试类应用于动态页面元素
【发布时间】:2010-07-14 20:42:12
【问题描述】:

我正在与一位在我的最新项目中使用 Selenium 的测试人员合作。

我试图从他那里得到一些信息,关于我需要如何命名应用于他将要测试的页面上的动态元素的 CSS 类。

我认为他本人对此相当陌生,因此将我们的发现放在这里以供评论:

  • 要用于的测试类 动态生成的内容。
  • 要应用于 HTML 的测试类 通过 jQuery 在单独的 JS 文件中。这个 避免出现测试类 在生产环境中作为 JS文件可以在之前排除 部署。
  • 测试类是唯一的。至 使课程独一无二,可能会有 需要创建增量类 动态生成的列表 示例。
  • 纯粹应用测试类的地方 用于测试,即他们不应用 CSS 格式化它们将带有前缀 “测试”。
  • 测试类也应该是 对他们的内容有意义 定位。

如果有任何事情看起来可能会导致进一步的问题,我会非常感激。

【问题讨论】:

  • 为什么只需要对元素应用类来运行测试?在我看来,如果您向元素添加类然后在部署之前将它们取出,您并没有真正测试您的代码?
  • 谢谢。这正是我想要的。那么 selenium 是否能够在不添加类来测试数据是否存在以及值的情况下测试动态数据?例如,假设页面上有两个包含标题的 DIV:

    Some header

    Some other header

    这些都是动态生成的,但我不会想到如果没有类或 id 来区分它们,那么 Selenium 将无法区分不同的标头值?
  • Selenium 可以使用 Xpath 来找到那些,拥有测试 css 类会使测试更快,但像 @Rodreegez 它不会像在野外那样测试应用程序
  • 基于@AutomatedTester 所说的,拥有有意义的css类名有两个好处:1)测试本身会更快,因为css选择器比xpath选择器更快,2)测试创建/设计测试人员实施测试会更容易。我看不到拥有有意义的 css 类名的任何缺点。如果不是类名,那么尽量在任何可能的地方赋予有意义的 id 属性。

标签: jquery unit-testing tdd selenium


【解决方案1】:

我们决定结合使用 XPATH 和使用已经存在的类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-16
    • 1970-01-01
    • 1970-01-01
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    相关资源
    最近更新 更多