代码之家  ›  专栏  ›  技术社区  ›  Dylan Smith

UI测试框架+持续集成?

  •  10
  • Dylan Smith  · 技术社区  · 17 年前

    因此,我继承了一个应用程序,并希望围绕它构建一个自动化测试套件。应用程序的设计没有考虑可测试性,代码是一个“大泥球”。我的计划是使用一个UI自动化测试框架,并在UI级别创建一套测试,直到我有足够的覆盖率,使我能够自信地开始重构,并在代码中引入一些接缝,以改进可测试性和设计。

    这是一个.Net WinForms应用程序,我知道的两个框架是:

    NUnitForms

    Project White

    据我所知,这两个框架在尝试作为自动化构建(持续集成)的一部分运行时都会出现问题,因为大多数CI产品都是作为Windows服务运行的,如果UI使用模态对话框,应用程序就会死掉。我正在使用CruiseControl.Net作为我的CI工具。

    有人对解决这个问题有什么建议吗?一个可以使情况变得更好的替代框架?

    谢谢

    迪伦

    5 回复  |  直到 17 年前
        2
  •  3
  •   Richard Banks    17 年前

    你实际上可以通过控制台应用程序运行巡航控制,这样它就可以进行交互式桌面访问。如果服务器重新启动或崩溃,它不会自动恢复,但至少您可以这样做。

    也就是说,大多数人对自动化UI测试(winforms、wpf或web)采取的方法是通过构建服务器运行所有非交互式测试。一旦这些测试通过,它们就会将应用程序部署到测试环境中,并手动触发针对新构建的代码版本的测试运行。

    这使人们有机会重置测试环境(对于UI测试很重要),并检查应用程序的新版本是否正确构建,以及所有单元测试是否通过。毕竟,如果您知道单元测试失败了,那么运行UI测试就没有意义了。:-)

        3
  •  2
  •   jonsca    14 年前

    我还没试过,但有一个 UI Automation Framework

        4
  •  1
  •   Sean B    17 年前

    我们在控制台模式下运行持续集成验收测试,而不是在登录的虚拟PC中作为Windows服务。这对我们来说很有效。

        5
  •  0
  •   Angel Tsvetkov    11 年前