Selenium 是为浏览器自动化(Browser Automation)需求所设计的一套工具集合,让程式可以直接驱动浏览器进行各种网站操作。Selenium 执行“真实的浏览器”来进行网站操作的自动化,它能够直接获取即时的内容,包括被 JavaScript 修改过的 DOM 内容,让程式可以直接与网页元素即时互动、执行 JavaScript 程式,因此也适用于前端采用 AJAX 技术的网站。
Model–view–controller (MVC) 架构是一种设计模式 (design pattern),主要目的是用来简化应用程序的开发与增加程式的可维护性,其做法是将应用程序分成三个逻辑的模组。每一个模组都有各自具体的任务,这样做是为了将资料的传递与呈现给使用者的结果分开表示,透过 MVC 设计模式将这些主要模组分离开来,以实现程式码的可重复使用性以及根据任务需求分配并行开发。
基于 MVC 架构的优点,工程师也可以将 MVC 提供分层模组化架构的优点应用在开发测试的基础架构上。因此,这篇文章主要说明以 MVC 开发设计模式为灵感的自动化测试架构 – Model Controller Testsuite (MCT),并描述如何调整以便让自动化架构更加稳定和可维护。