4

我一个接一个地运行许多测试(在FF上),我希望每个测试都从一个新的浏览器开始(即没有cookie,没有缓存,......)。一个想法是关闭浏览器并为新测试打开一个新的(这将创建一个新的配置文件,并且可能是最干净的环境)。

这会造成太多麻烦并且花费太长时间,因此我将放弃一些不关闭浏览器的新配置文件的安全性。你会怎么做这样的事情?清除 cookie 就足够了吗?

4

4 回答 4

2

我知道 ctrl+shift 和 refresh 会清除缓存和 cookie,因此在每个测试方法之后,您可以在按下 ctrl+shift 的同时启动刷新。

替代解决方案是编写一个删除所有 cookie 和缓存的 java 脚本,并运行 getEval 脚本以在每个测试方法之后运行 java 脚本。

Selenium RC 还有一个函数 deleteCookies 删除所有的 cookie,你可以在每次测试后调用这个方法,以便 selenium 删除 cookie。

我希望这有帮助。

于 2010-02-13T18:43:35.573 回答
1

您没有提及您正在使用的语言驱动程序。无论如何,它应该是这样的:

deleteCookie(cookieName, options)

例子:

deleteCookie('preferredColor', 'path=/')

有关完整的 API 参考,请参见此处

在我使用 PHP 的情况下:

$this->deleteCookie('uagent', 'path=/');

如果您想删除每个 cookie,请使用 deleteAllVisibleCookies()。

希望有帮助。

于 2010-07-06T08:41:46.823 回答
0

如果您使用的是 java,那么您可以简单地在 setUp() 中使用它。

selenium.deleteAllVisibleCookies();

希望这能正常工作

于 2013-05-07T13:34:31.793 回答
-1

你得到这个解决方案了吗?我有兴趣知道。

我正在做的是设置“不记得”选项并在每次需要新浏览器时关闭浏览器....

于 2010-08-19T12:24:39.123 回答