测试自动化 - Web/SOA 架构设计

Test Automation - Design for Web/SOA architecture

我发现很多关于使用 Selenium/java 的测试自动化和 Web 架构的信息,但是我想问一下另一种情况。

假设您有一个包含客户详细信息的文本文件。然后需要手动触发一个进程,该进程将解析该文件并将详细信息加载到数据库中。然后可以从网页查看详细信息。从网页中您可以进一步 add/delete/edit/navigate 记录。

作为设计,我想我会遵循这个逻辑:

  1. 设置文件并自动触发流程
  2. 自动解析文件并与数据库条目进行比较以确保它们输入正确。
  3. 自动触发selenium test登录并在网页查看结果,所以我会把文件比对数据库,网页比对数据库。

虽然我不确定这种方法,但它提供了各种挑战,尤其是在每次测试之间重新初始化状态方面。您是否认为有更好的方法,最终我需要确保文件中的详细信息最终出现在正确的数据库中 tables/columns 并且可以在网页中正确看到详细信息。

非常感谢!

我认为你的工作流程是足够的,除了一个小例外。

对于状态,从"phases"的高层次概念思考以下。

设置阶段:

  • 有你的自动化例程 'create' 记录你会 需要在接下来的自动化例程中使用。
  • 由于例程在数据库中为您创建记录,这可能会很好 拥有一个带有您可以生成的 GUID(36 个字符)的列。换句话说,不要假设您将创建唯一的行 ID 1、行 ID 2、行 ID 3(等等)。
  • 因为你会在创建时知道这个值,所以写一个清单文件 跟踪您将在测试期间查询的数据库记录 运行.

测试运行阶段:

  • 运行 您的自动化测试,让它们利用清单文件来 获得他们必要的身份证件。你已经在“说你有 包含客户详细信息的文本文件。
  • ID在 清单,执行您需要为测试执行的任何过程。

拆解:

  • 使用清单文件,通过标识符查找您的数据库记录 (GUID) 并执行 SQL 语句来删除这些记录。
  • T运行修改清单文件,使其现在为空(或者您可以写入 以非附加方式进行所有写入,这将实现相同的目标)。