首页 > 解决方案 > 开发人员可以做些什么来协助自动化测试?

问题描述

我工作的公司正在启动一个新的 Web 应用程序,我已经要求前端开发人员使这个应用程序自动化友好

以前的应用程序使用的是 react 框架,很少有元素具有唯一 ID(或任何唯一标识符)。这一次,我要求开发人员包含一个自定义数据属性,专门用于自动化。

我正在寻找可能在这种情况下有经验的人。

  1. 您要求您的开发人员做什么来协助自动化?
  2. 是否有任何标准或指南来命名应用程序中的元素以适应 Selenium 自动化?
  3. 自定义数据属性是最好的方法吗?还有其他选择吗?

任何建议/指导将不胜感激!

标签: seleniumtestingautomated-testsfrontendui-automation

解决方案


如果Web 应用程序没有考虑到测试,那么它们可能很难测试。对于单页应用程序 (SPA)尤其如此。SPA 支持繁重的交互而不会产生额外的页面加载(例如FacebookGmail)。这些 SPA 不使用页面加载,而是使用AJAX请求从服务器来回中继数据。

根据来自ThousandEyes的@ChrisChua的说法,这些是在开发 Web 应用程序以简化测试时要牢记的一些最佳实践:

  • 添加有意义的类。
  • 类应指示元素的功能和状态。
  • 在操作元素的 ID 和类中使用功能名称。
  • 动态生成的类和 ID 对测试没有帮助。
  • 添加可定位的 DOM 反馈以指示应用程序状态。
  • 永远不要在测试代码中硬编码内容!

结论

确实,其中一些更改并不容易,因为开发人员可能不得不更加努力地考虑使用对测试友好的设计,而不是“可行的东西”。但是,它肯定会有助于测试的可维护性,从长远来看这将降低成本。


tl; 博士

几个参考:


推荐阅读