gpt4 book ai didi

javascript - 将 Selenium-IDE 与丰富的 Javascript 应用程序一起使用?

转载 作者:搜寻专家 更新时间:2023-11-01 04:39:00 25 4
gpt4 key购买 nike

问题

在我的工作场所,我们正在努力寻找为几乎完全由 javascript 驱动的 Intranet 应用程序创建自动化测试的最佳方法。现在我们正试图在以下两者之间找到一个好的权衡点:

  • 可重用和可嵌套的 GUI 组件中的应用程序代码。
  • 测试团队可以轻松创建的测试
  • 可以记录一次然后自动化的测试
  • 在对站点进行小的外观更改后不会中断的测试

从 Selenium-IDE 天真地生成的 XPath 表达式(或其他可能的表达式,如 jQuery 选择器)通常是不可重复的并且非常脆弱。相反,让 JS 代码为页面上的每个重要 DOM 元素生成特殊的唯一 ID 值……好吧,这本身就是令人头疼的问题,可重用的 GUI 组件和 ID 在重新测试时需要保持一致,这让事情变得复杂起来跑。

其他人在这种事情上取得了哪些成功?您如何对富 JS 界面进行自动化应用程序级测试?

限制

  • 我们正在使用 JavascriptMVC 2.0,希望很快使用 3.0,以便我们可以升级到 jQuery 1.4.x。
  • 做测试的人大多接受过使用 Selenium IDE 直接记录东西的培训。
  • 测试主管希望页面上的每个可点击元素都有一个页面唯一的 HTML ID...
  • 培训测试人员编写或更改特殊表达式(例如告诉他们哪些 HTML 类名是重要的分支点)是不行的。
  • 我们尝试制作可重复使用的 javascript 组件,但这意味着很少有 GUI 组件可以将自己(或它们包含的内容)视为独一无二的。
  • 我们的一些组件已经在其操作中使用了 HTML ID 值。 无论如何我都想避免这样做,但它会使基于 ID 的测试的想法变得复杂。
  • 有可能向 Selenium-IDE 安装测试人员使用添加自定义工具(如定位器构建器或新定位器方法)。
  • 从传统浏览器的 Angular 来看,几乎所有发生的事情都发生在一次“页面加载”中,即使项目已保存也是如此

目前的想法

我正在考虑一个系统,在该系统中,Selenium-IDE 的自定义定位器构建器(javascript 代码)将在测试人员记录时与我们的应用程序代码对话。通过这种方式,我们的应用程序部分负责为任何给定的 DOM 元素生成最灵活的表达式(XPath 或 jQuery)。虽然这可以避免对测试人员进行更多培训,但我担心这可能是想多了。

最佳答案

录制和回放将无法在大规模测试中使用。它可能适用于冒烟测试和小型重复性任务。

与其尝试生成唯一 ID,不如尝试使用基于 CSS 的选择器来解决这个问题。生成唯一 ID 是理想的目标,但我认为这在所有实际情况下都是不可能的。

如果您尝试寻找自定义定位器,最好查看 BDD。

关于javascript - 将 Selenium-IDE 与丰富的 Javascript 应用程序一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4587966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com