我想使用Selenium来testing一个Web应用程序,但为了成功地完成testing,必须在已知状态下对数据库运行testing。
Seleniumtesting的logging和运行不在本网站的范围之内,所以我只寻求在每次testing执行之后如何最好地恢复数据库的build议。
一些细节:
理想情况下,这个过程应该是脚本化的,以便它可以通过计划的任务经常和自动地重新执行。
最简单快捷的方法是使用ZFS将数据库放在OpenSolaris计算机上,然后在启动Oracle之前执行ZFS快照。
由于您已经购买了Windows Oracle许可证,所以最好的办法是build立一个Nexenta服务器,并使用iSCSI作为正常的Windows文件系统访问ZFS。 要记住的关键是不要在Oracle运行时创build或恢复快照。
快照和恢复几乎是即时的。
如果您看到名称Illumos,那就是新名称OpenSolaris。
要以编程方式执行此操作,可以使用DBUnit (Java)。
使用Oracle工具,您可以使用SQLLDR 。
我会用expdp来包装一个shell脚本来导出schema,impdp再导入它。 在运行testing用例之前,导出数据库,并自动化执行运行后shell脚本的seleniumtesting,该脚本将执行impdp(或imp for old Oracle)命令行以恢复数据库。
这就是我们在testing中的做法。