在PhantomJS + GhostDriver + WebDriver客户端配置中为每个测试清除cookie

Iva*_*hko 6 cookies automated-tests phantomjs selenium-webdriver

如何在我的PhantomJS + GhostDriver + Selenium WebDriver + WebDriver客户端系统中清除每个测试的cookie?

我的测试过程如下所示:

  1. 在hub角色中启动selenium-web-driver-standalone.
  2. 在webdriver模式下启动phantomjs并将其附加到selenium webdriver.
  3. 启动shell脚本,迭代测试套件并启动每个脚本.
  4. 每个测试使用webdriver客户端并与连接到selenium web驱动程序的浏览器进行通信.

当我使用firefox浏览器而不是phantomjs时,所有测试都通过了.但是当我切换到使用phantomjs作为浏览器时,所有检查注册失败的测试都因为cookie在第一次测试执行后已经设置.我可以在每次测试启动时清除所有cookie吗?或者我应该在每个单独的测试中重新启动phantomjs进程(因为这是使用firefox和selenium webdriver而不是hub角色)?

Joh*_*nny 1

您可以使用以下方法删除特定的 cookie:

webDriver.manage().deleteCookieNamed("smSession");
Run Code Online (Sandbox Code Playgroud)

并使用以下命令删除所有 cookie:

webDriver.manage().deleteAllCookies();
Run Code Online (Sandbox Code Playgroud)