我一个接一个地运行很多测试(在FF上),我希望每个测试都以新的浏览器开始(即没有cookie,没有缓存,......)。一个想法是关闭浏览器并为新测试打开一个新的浏览器(这将创建一个新的配置文件,可能是最干净的环境)。
这会造成太多麻烦并且花费太长时间,所以我会放弃一些关于不关闭浏览器的新配置文件的安全性。你会怎么做这样的事情?并且正在清理足够的cookie?
答案 0 :(得分:2)
我知道ctrl + shift和refresh会清除缓存和cookie,因此在每个测试方法之后你可以在按下ctrl + shift的同时启动刷新。
替代解决方案是编写一个删除所有cookie和缓存的java脚本,并运行getEval脚本以在每个测试方法之后运行java脚本。
Selenium RC还有一个删除所有cookie的函数deleteCookies,你可以在每次测试后调用这个方法,以便selenium删除cookie。
我希望这会有所帮助。
答案 1 :(得分:1)
您没有提到您正在使用的语言驱动程序。无论如何,它应该是:
deleteCookie(cookieName, options)
示例:
deleteCookie('preferredColor', 'path=/')
有关完整的API参考,请参阅here
在我使用PHP的情况下:
$this->deleteCookie('uagent', 'path=/');
如果您想要删除每个cookie,请使用deleteAllVisibleCookies()。
希望有所帮助。
答案 2 :(得分:0)
如果您使用的是java,那么您只需在setUp()中使用它。
<强> selenium.deleteAllVisibleCookies(); 强>
希望这很好用
答案 3 :(得分:-1)
我正在做的是设置“不记得”选项并在每次需要新浏览器时关闭浏览器....