有没有办法可以用PhantomJS做相当于"隐身模式"的方式,其中所有的cookie,本地存储等只是暂时的,并且不会在进程中持续存在?
这对于UI自动化以及一些后端应用程序非常有用.
不,不存在开箱即用的东西,但至少您可以对某些类型的数据执行一些操作。
默认情况下,缓存和 cookie 仅对一个幻影实例可见,但可以通过从命令行为其设置文件来启用它们。所以你在这里很好。
其他有问题的功能是 applicationCache、localStorage 和 webSQLDatabase,这是通过从 phantom 运行现代化测试套件确定的。
applicationCache并不是真正的问题,因为在大多数情况下仅缓存公共数据。每次运行后无法清除。
如果您按顺序运行测试,则可以在每次运行后清除localStoragelocalStorage.clear()(请参阅此处)。情况可能并非如此,因为您可能并行使用多个进程来加快执行速度。这里没有真正的解决方案。
webSQL数据库仍然无法清除:如何在Web SQL中删除数据库?
令人遗憾的是,会话处理存在多个问题。