Selenium Phantomjs会话隔离仍然不起作用吗?
当我使用chrome浏览器运行selenium测试时,所有测试用例都运行良好。当使用phantomjs浏览器时,浏览器会话似乎在每个测试用例之后都不会被重置。在我的测试案例中,我以用户身份登录,然后导航到特定页面,然后注销。当测试用例碰巧失败时,就会出现问题。浏览器会话未重置,因此当下一个测试用例开始时,失败的测试无法注销。这会导致单个失败后的所有测试用例都失败 在互联网上搜索此问题的解决方案时,人们早在2013年就知道了。我似乎找不到任何关于这个问题的最新消息。是否有最新的解决办法 在每个测试用例之前或之后手动尝试删除cookie似乎不起作用<代码>webDriver.manage().deleteAllCookies()代码> 我正在使用phantomjs 2.1.1版。首先,最好切换到或 第二,PhantomJS是Webkit的一个端口,它是。这意味着,如果您尝试并行运行多个测试,您将看到线程问题,要解决此问题,您需要启动多个PhantomJS实例,并让每个GhostDriver实例连接到不同的PhantomJS实例 您看到的一个特殊问题是PhantomJS无法正确地清除自身,唯一的解决方案是在测试完成后杀死您正在运行的初始PhantomJS实例,然后启动一个干净的新实例,不幸的是,GhostDriver不支持这一点 最后一个问题是GhostDriver也死了,当PhantomJS死后,继续开发就没有意义了Selenium Phantomjs会话隔离仍然不起作用吗?,selenium,phantomjs,geb,ghostdriver,Selenium,Phantomjs,Geb,Ghostdriver,当我使用chrome浏览器运行selenium测试时,所有测试用例都运行良好。当使用phantomjs浏览器时,浏览器会话似乎在每个测试用例之后都不会被重置。在我的测试案例中,我以用户身份登录,然后导航到特定页面,然后注销。当测试用例碰巧失败时,就会出现问题。浏览器会话未重置,因此当下一个测试用例开始时,失败的测试无法注销。这会导致单个失败后的所有测试用例都失败 在互联网上搜索此问题的解决方案时,人们早在2013年就知道了。我似乎找不到任何关于这个问题的最新消息。是否有最新的解决办法 在每个测试
TLDR;改用Chrome/Firefox无头模式。同上。已尝试:
driver.navigate().to(“javascript:localStorage.clear();”代码>和能力.setCapability(CapabilityType.ForSeleniumServer.CLEAN_会话,true)代码>似乎没有什么不同。