代码之家  ›  专栏  ›  技术社区  ›  paulgreg

如何在Web用户界面测试中取得成功?

  •  3
  • paulgreg  · 技术社区  · 17 年前

    我们正在建立一个 Selenium 在大型Web应用程序上测试活动。 我们所做的第一件事是构建一个框架,在测试之前在数据库中初始化SQL数据,启动测试,存档结果,然后清除数据。

    我们已经将其集成到Maven 2流程中,每天运行 TeamCity 在专用数据库上。

    我们现在已经设置了几个硒测试,但并没有按计划使用。

    原因是测试有时会因为其他原因而中断,而不是回归(数据可能已更改,存储过程可能已重新编译等)。

    我想知道在用户界面测试方面是否取得了巨大的成功,如果有,原因是什么。常见的错误也可能让我感兴趣。

    3 回复  |  直到 17 年前
        1
  •  1
  •   Tom E    17 年前

    可测试性有很大帮助。Web应用程序可测试性的最大胜利是,如果您需要在页面上与之交互的所有HTML元素都具有 独特和一致的属性 . 如果用于标识HTML元素的属性(Selenium使用xpath)在构建到构建或会话到会话之间不一致/不可靠,则测试脚本将失败。此外,这些属性必须是唯一的,这样自动化工具(在本例中是Selenium)就可以在网页上可靠地找到对象。

        2
  •  1
  •   Milan BabuÅ¡kov    17 年前

    如果需要可靠的单元测试,则需要具有相同的输入。数据库的启动状态 是输入 . 所以,每次都需要有相同的启动数据库。当然,如果你想用不同的 输入 您需要创建另一个单元测试(因为结果显然不一样)。

    当我做这样的事情时,我总是使用相同的数据库作为起点。当然,有些测试可能会失败而不修改数据库是正确的方法,所以其他一些后续测试也可能失败,即使它们不会。如果单元测试工具允许,您应该定义测试之间的依赖关系,以确保当“父”测试失败时,这些测试不会运行。

        3
  •  0
  •   Paul Whelan    17 年前

    我使用HTTP单元,在页面中添加任何样式之前,它具有额外的工作优势。

    http://httpunit.sourceforge.net/ 您可以附加要在Maven2集成测试阶段运行的测试。

    从现场

    用Java编写,HttpUnit仿真 浏览器行为的相关部分, 包括表单提交、javascript, 基本HTTP身份验证、cookie和 自动页面重定向,并允许 检查返回的Java测试代码 以文本、XML DOM或 表格、表格和容器 链接。