我正在为内部 Web 应用程序设置一些 Selenium 测试,并寻求有关测试“最佳实践”的建议。其中一项测试将通过 UI 添加一些无法通过 UI 删除的数据(例如,您可以通过 Web 应用程序添加记录,但删除需要在内部联系某人以在数据库级别删除它)。在 Selenium 测试运行后,您通常如何清理数据?
有问题的应用程序是用 PHP 编写的,我使用 PHP 进行测试(使用 Selenium RC 和 SimpleTest),但我对其他工具等持开放态度,因为这只是一个广泛的最佳实践问题。正在测试的应用程序在我们的开发环境中,所以我并不特别担心测试中的数据会被带走。
一些想法:
- Selenium测试中手动连接数据库清理数据
- 使用类似DBUnit的东西来管理这个?
- 只需添加数据,不用担心清理它(也就是惰性方法)
谢谢!
编辑:似乎大多数想法都围绕着相同的结论:处理一组已知数据并在测试完成时恢复。这个机制可能会因语言、数据量等而有所不同,但这看起来应该可以满足我的需要。