我正在寻找改进网站功能测试自动化过程的建议。这是我以前试过的。
我以前有一个使用WATIN的测试项目。您有效地写出了“单元测试”的内容,并使用WATIN自动化浏览器来点击您的网站等。
当然,您需要一个网站来运行。所以我做了测试实际上将代码从我的web项目复制到一个本地目录,并启动一个web服务器指向该目录,然后任何测试运行。
这样一来,有人可以从源代码控制中简单地获取最新的内容,并运行我们的构建脚本,并看到所有的测试运行。他们也可以简单地从IDE运行所有测试。
我遇到的问题是,我花了很多时间来维护代码,以便比测试设置测试环境。更何况,由于所有的复制,花费了很长时间才能运行。此外,我需要测试各种场景,包括安装,这意味着我需要能够将数据库设置为各种初始状态。
我很好奇自己做的功能测试来解决其中的一些问题,但仍然保持简单。
更多细节
由于人们要求更多的细节,在这里。我使用Visual Studio和Cassini(内置的Web服务器)运行ASP.NET。我的单元测试运行在MbUnit(但这不是那么重要,可以是NUnit或XUnit.NET)。通常,我有一个单独的单元测试框架运行我所有的WATIN测试。在AssemblyLoad阶段,我启动Web服务器并在本地复制我的所有Web应用程序代码。
我对任何平台的解决方案感兴趣,但是我可能需要更多关于每个方面的描述。