PhantomJS和Selenium Webdriver - 如何清除会话

sch*_*gel 8 java testing selenium phantomjs ghostdriver

我正在使用Selenium Webdriver(Java)和PhantomJS来测试复杂的JS驱动的网站.我的问题是,PhantomJS浏览器会在两次测试之间保持会话,从而导致测试设置出错.

如果我使用Firefox运行测试一切正常,因为Firefox为每个测试用例使用了一个干净的会话.

我解决问题的第一个尝试是通过JS注入清除本地存储.暴露的Selenium会删除CookieAPI driver.manage().deleteAllCookies();

但是不允许在不访问页面的情况下执行JavaScript.因此,在"about:blank"处启动浏览器会导致错误.

那么,如何配置我的phantomjs webdriver来清除会话?

我正在使用phantomjs和webdriver,因为硒网格服务结果不够稳定.所以我开始我的phantomjs实例:

phantomjs --webdriver=1234
Run Code Online (Sandbox Code Playgroud)

obe*_*ies 7

PhantomJS在测试之间保持会话的事实是GhostDriver中的一个已知问题,即PhantomJS中的Selenium Webdriver实现.

我想这个问题将通过PhantomJS 2版本修复.该错误已在GhostDriver 1.1.1中修复,但没有包含此GhostDriver版本的PhantomJS版本.


dja*_*fan 2

我知道如果您使用GhostDriver ,Selenium Grid 有一个“cleanSession”选项。另外,我非常确定常规 WebDriver 类在本地 WebDriver 实例上有一个选项:

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