繁体   English   中英

Phantomjs会话隔离仍然无效吗?

[英]Is Phantomjs session isolation still not working?

当我使用chrome浏览器运行我的selenium测试时,我的测试用例运行正常。 使用phantomjs浏览器时,看起来浏览器会话在每个测试用例后都不会重置。 在我的测试用例中,我以用户身份登录,然后导航到某些页面,然后注销。 当测试用例发生故障时会出现问题。 浏览器会话未重置,因此当下一个测试用例开始时,失败的测试无法注销。 这会导致单个故障后的所有测试用例都失败。

在互联网上寻找这个问题的解决方案时,我们已经知道了2013年的情况。我似乎无法找到有关此问题的最新信息。 有没有最新的解决方法?

手动尝试在每个测试用例之前或之后删除cookie似乎不起作用。 webDriver.manage().deleteAllCookies();

我正在使用phantomjs ver 2.1.1。

首先PhantomJS已经死了 ,你最好切换到Headless ChromeHeadless Firefox

其次PhantomJS是Webkit的一个端口,它不是线程安全的 这意味着如果您尝试并行运行多个测试,您将看到线程问题,要解决此问题,您需要启动PhantomJS的多个实例并让每个GhostDriver实例连接到PhantomJS的不同实例。

你看到的特殊问题是PhantomJS没有正确地清除它自己,唯一的解决方案是杀死你在测试完成后运行的初始PhantomJS实例然后启动一个干净的新实例,不幸的是,这不是由GhostDriver支持。

最后一个问题是GhostDriver也已经死了,当PhantomJS去世时,没有任何意义继续发展。

TLDR; 请改用Chrome / Firefox无头模式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM