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