UI 使用 selenium 和 Java 测试自动化的最佳实践

Best Practices for UI Test Automation with selenium and Java

我们公司正在尝试采用 UI 测试自动化。他们向我展示了他们之前在测试自动化方面的尝试,这基本上是您对过度工作的 QA 工程师的期望,他们被要求在短时间内创建一个测试自动化项目以及他们的其他职责。据我所见,它有很多缺陷并且没有成功。我是这个领域的初学者,我想了解一下,

  1. UI 测试自动化
  2. 中最佳实践的任何详细指南
  3. 任何 github 由某些人完成的测试自动化项目的回购 展示最佳实践的软件开发领域受人尊敬的公司。

我在这里发帖的原因是我在网上找到的大多数指南都是基本的或缺乏细节。也不可能找到一些软件公司完成的测试自动化项目。如果你们中有人在拥有 public 回购的公司工作,请在这里分享它,这将非常有帮助。

您可能无法在网上找到东西,因为通常这些框架 material 代表时间和投资。它们要么是 sell-able material(例如具有通用框架的咨询公司),要么是为客户定制的(例如公开内部系统工作原理)。

自动化框架从一些需求收集开始。需要考虑的事情很多——一些示例想法:

  • 你知道你要测试什么吗?
  • 是纯网络吗?是胖客户端吗?它涉及移动吗?混合搭配?
  • 你参与开发团队了吗?在你到达 UI 之前,你知道在不同级别测试了什么吗?
  • 你有正确的技能来完成这个吗?

如果你google“自动化框架需求”你会得到很多想法。

This article【免责声明! - 我写了它] 谈论您从顶层遇到的自动化问题,而没有进入代码。我会考虑这些非常好的实践中的大部分,并且您可以尽早计划其中的一部分。

摘自文章:

Automation needs to test the right things

Automation needs to just run

Automation needs to run well

它使用了我在职业生涯中遇到的错误以及如何改正这些错误的示例。

除此之外....

现代自动化通常会将您引向 test automation pyramid(这次不是我的文章)。

当您进入较低级别时,通用编程规则很重要。我无法直接指导您使用您未设计的框架,但简单的规则会有所帮助:

最后的想法是您不必构建一个 framework.There 是 generic open source frameworks 可以让您开始。

  1. 确保应用程序处于回归阶段
  2. 自动化和稳定测试需要很多时间
  3. 不要在一开始就尝试自动化所有事情。自动化最重要的测试。网站上大多数人关注的流量。
  4. 决定框架 - data-driven or hybrid or POM
  5. 决定使用哪个框架可以为以后节省大量时间。 Data-driven 最简单,也很容易改变。 POM 和 Hybrid 很复杂,但可以更好地重用。
  6. 在选择新框架之前先查看并了解一些现有的自动化框架。
  7. 确定您需要的报告类型

使用 Selenium 进行自动化测试是一个学习曲线。它不像从工作示例中复制那么简单。这是一篇关于 Selenium automation testing to help you get started with learning the best practices. When beginning your journey with Selenium, identify a small UI feature to automate so you can familiarise yourself with the setup of required components, and how to run and manage the test. Try start with testing something like a login process 的文章,之后您可以在完全理解整个 Selenium/Java 环境后创建更多包含更多 UI 功能的测试。