当访问不同于app_host的URL时,水豚不会完全重置

问题描述 投票:0回答:1

我是水豚的新手,所以我可能会错过一些显而易见的事情,但是我不确定发生了什么。我在同一套件中有三个测试用例,其中app_host设置为URL A。

Test1:访问网站A,然后重定向到网站B并要求登录到B。

Test2:访问网站B并执行一些测试

Test3:访问网站B并执行一些测试。

在测试2和3中,我使用具有绝对URL的访问来访问网站B,并且代码是相同的。在测试2中,我不必登录,但是在测试3中,网站B重定向到登录页面。

我在这里发现了类似的问题:Capybara with headless chrome doesn't clear session between test cases which use different subdomains,但是从2.8更新到3.9之后,我仍然遇到相同的问题。我也尝试过Capybara.reset_sessions!每次测试后都没有成功,以及Capybara.current_session.driver.browser.manage.delete_all_cookies。

我正在使用Capybara 3.9.0和Selenium-webdriver 3.9.0。

任何想法导致行为差异的原因是什么?

selenium-webdriver selenium-chromedriver capybara
1个回答
0
投票

您正在使用大量的过时的Capybara和selenium-webdriver版本。 WebDriver协议仅在reset发生时才允许重置您所在主机的cookie,因此,如果在主机之间移动,则仅会清除其中的cookie。但是,如果您将新版本的Capybara与最新版本的selenium-webdriver和Chrome结合使用,则Capybara将清除所有主机的Cookie(使用CDP)

© www.soinside.com 2019 - 2024. All rights reserved.