【问题标题】:Testing Enterprise Web Application using Selenium使用 Selenium 测试企业 Web 应用程序
【发布时间】:2016-02-11 20:24:17
【问题描述】:

我是 Selenium 自动化的新手。我的公司正在遵循 DevOPS 进行软件交付。尽管我很喜欢使用该框架并自动化一些简单的测试,但我想知道我可以在 Enterprise Web Application 中自动化多少功能。我们使用 Java 、 Cucumber 、 Junit 和 Jenkins 进行测试自动化。有人可以回答以下问题并给我指导

  1. 我的应用程序前端使用 ExtJS 开发,后端使用 Java/Oracle。我的应用程序中有工作流自动化,它们是使用 Redhat Jboss 业务流程管理 (JBPM) 实现的。多年来,我一直在手动测试这些工作流程自动化。现在有一个强大的音调来自动化它们。这些工作流自动化由事件或计时器到期触发。如何使它们自动化?

  2. 在我的应用程序中有测试,我在我的应用程序中执行一些活动,并且必须等待一段时间才能继续。这些是自动化的合适人选吗?我应该让 Selenium 在继续之前等待吗?

  3. 我们将为服务虚拟化实施 CA LISA。 Selenium 是测试这些虚拟化服务的正确工具吗?

  4. 对于每个测试用例,我设置浏览器、登录并执行测试。测试完成后,我通过注销并关闭浏览器来进行拆解。这是正确的方法吗?

问候 高里

【问题讨论】:

    标签: selenium


    【解决方案1】:

    这是一个非常广泛的话题,但根据我的经验,任何通过 HTTP 工作的东西都可以非常有效地自动化。这涵盖了主流浏览器中的 HTML、Javascript 和 CSS - 使用正确的 Java 工具和库,您可以涵盖所有相关技术,如 HTTP(S)、XML、JSON、YAML、FTP、SMTP、SSL,更不用说JDBC 等。

    单元测试运行器、端到端测试运行器和其他框架的各种组合都可以与 Cucumber (et al) 组合用于 BDD,与 Jenkins (et al) 组合用于 CI 和自动化/隔夜测试,针对本地浏览器、本地网格和基于云的网格。

    最重要的资产是经验丰富的网络开发人员,了解(至少)从 HTTP 向上的整个堆栈。教他们 WebDriver 应该完善他们的知识,让他们能够提出自动化解决方案来满足您的几乎/所有需求。

    所以回答你的问题:

    1. 你可以。希望以上有所帮助。前面提到的使用 JavaScript、完整的 Java 堆栈和 WebDriver 的 Web 开发人员应该没问题。 AngularJS 的覆盖面特别广,ExtJS 也是如此,任何原生 JavaScript 都可以运行。
    2. 通过您的全栈对客户端浏览器的控制,您可以两全其美。您可以在所有级别发出等待:计划测试、客户端等待等。
    3. Apparently, yes
    4. 这是最简单的情况,是的,但是随着您的需求扩展,您可能想要编写代码 - 或选择一个框架 - 使您能够更密切地控制浏览器实例以最大限度地减少延迟。做得好,这可能非常有效。做得不好(或根本不做),你最终可能会陷入缓慢、无法扩展的混乱局面。请注意,对于一个严肃的企业解决方案,您还需要管理测试数据集

    【讨论】:

      【解决方案2】:

      关于问题(4):您说的是对的,但是您可以通过避免在每次测试时关闭和打开浏览器来缩短执行时间,例如您可以删除所有 cookie(取决于具体情况,这可能够了)。

      关于 Andrew 提到的数据集,在某些情况下我使用 DBUnit 来负责为每个测试加载相应的数据集。

      更笼统地说,我总是尽量避免影响 Web 演示的自动化测试,因为它们往往非常脆弱(UI 中的微小更改可能会导致测试失败),而且与其他类型的测试相比,它们的成本也很高。测试。我更喜欢单元测试和底层测试(就在演示文稿的下方,比如点击 REST API)。

      【讨论】:

        猜你喜欢
        • 2011-08-18
        • 1970-01-01
        • 1970-01-01
        • 2011-04-12
        • 2012-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-06
        相关资源
        最近更新 更多