WatiN,我假设 Selenium,不会解决您的订购问题。我使用 WatiN 和 NUnit 进行 UI 自动化,并且无法保证运行顺序,这最初与您所看到的问题相似。
按照 dskh 的回答,您需要独立测试,我已经通过两种方式完成了集成/回归黑盒测试。
首先:在您的测试设置中,设置任何前置条件数据值,以便您处于已知的“良好状态”。对于系统回归测试自动化,我有许多数据库脚本被调用以将数据重置为已知状态;这会增加一些依赖项,因此请注意设计。注意:在直接单元测试中,考虑使用模拟对象来消除依赖关系并使您的测试“测试一件事”。如果可以的话,模拟对象、存根方法调用等是可行的方法,这听起来很可能。
第二:对于某些事情绝对必须以某种方式设置的情况,并且编写脚本来测试设置添加了大量必要的系统内部知识(例如:所有用户设置+所有权限设置+等等等等)一小部分在他们自己的命名空间中设置了“引导”测试,以允许通过 NUnit 轻松运行,以引导系统。保持少量测试并确保测试非常稳定至关重要。现在,在全新安装时,引导测试首先运行并用作高级冒烟测试;如果任何引导测试失败,则不会运行进一步的测试。它在某些方面很笨拙,但替代方案更笨拙或更多时间/资源/任何消耗。