设计用于测试Web应用程序的自动化框架

时间:2015-10-14 05:26:14

标签: selenium automated-tests batch-processing build-automation ui-automation

我需要使用自动化脚本测试的Web应用程序很少,因为我是自动化测试的新手,我不知道从哪里开始。我必须从头开始设计框架。 请建议一个更好的架构,我可以用于测试,并可以很容易地升级到一个新的水平。 我必须在几个Web应用程序之间填充,并且还需要使用excel在运行时传递的数据,并且该体系结构能够批量处理脚本。 验证:UI验证,后端(数据库)验证主要和架构将涵盖UI自动化中使用的各种操作

我将使用selenium(java)作为工具。

2 个答案:

答案 0 :(得分:2)

页面对象模型

它将为您提供管理和维护代码的方法。现在,如果您想使用相同的方法分别进行验证或功能测试,则由您决定。

对于Excel文件,您只需要创建几个具有业务逻辑的类来读取和设置excel文件中的数据。您可以像我们在KeyDriven框架中所做的那样,只是区别在于您将在需要时调用它们。

以下是POM的参考资料。

http://www.toolsqa.com/selenium-webdriver/page-object-model/

答案 1 :(得分:1)

您可以围绕Test harness概念开始设计框架。将代码拆分为三个主要问题(SoC):

  • 执行引擎 - 只知道如何执行命令的核心Selenium功能
  • 测试
    • Cucumber *.feature个文件,包含测试流程
    • TestNG引擎将支持您的步骤定义
  • 规范 - 仅保留环境,网站和浏览器细节

此模型将为您提供可扩展且易于维护的测试框架。

  

架构能够批量执行脚本

所有这些都需要CI服务器来帮助您管理质量检查流程:

是最常用的。

  

我还需要使用excel

在运行时传递数据

Data-driven testing是帮助您实现这一目标的方法。这是an example与TestNG。最好将此功能组织为项目中的单独TestDataLibrary包。

  

验证:UI验证,后端(数据库)验证

Selenium团队确实推荐了这样的DB validation,跳过了应用层。但请记住,并非所有要求都需要通过UI进行测试。大多数时候 - integration tests可以做同样的工作。有些人建议只在表示层上保留E2E