开发人员可以做些什么来协助自动化测试?

问题描述 投票:2回答:2

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

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

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

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

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

selenium testing automated-tests frontend ui-automation
2个回答
2
投票

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

根据@ChrisChuaThousandEyes,这些是在开发Web应用程序以使测试更容易时要记住的一些最佳实践:

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

结论

其中一些不容易改变,因为开发人员可能不得不考虑使用测试友好的设计而不是“正常工作的东西”。但是,它肯定有助于测试的可维护性,从长远来看可以降低成本。


TL;博士

几个参考:


0
投票

测试驱动开发使自动化变得更容易。在我看来,测试人员应该是开发人员,或者是善于发现和防止错误的前开发人员。将测试写在开发解决方案的同一个项目中。开发人员也可以放入ID,即使他们有时不想这样做,如果“测试人员”很好,他们甚至可以提交拉取请求(在GitHub中为例子)用于代码改进,使他们能够更好地测试。将测试人员视为您的开发团队的一部分,允许每个人贡献代码。它有助于问责制并提高自主权。每个人都互相帮助,如果所有代码都在同一个项目中,并且所有代码在合并到掌握之前都经过审核和批准,那么每个人都是潜在的开发人员,如果每个人都是IT。人工测试的旧时代正在消亡。将Dev与测试分开是一堵砖墙。把它撕下来。

© www.soinside.com 2019 - 2024. All rights reserved.