我想在 Cucumber 测试中使用 Capybara 删除特定的 cookie,并且不想使用 Webkit / Poltergeist
I want to delete a particular cookie using Capybara within Cucumber test and don't want to use Webkit / Poltergeist
我尝试了几种方法,例如使用 browser.manage.delete_cookie
以及通过执行以下操作将 cookie 设置为空:page.driver.browser.manage.set_cookie("#{'cookie_name'}:")
但其中 none 有帮助。
这是我的步骤定义文件
Given('I am on Learn Page') do
page.driver.browser.manage.window.resize_to(1800,990)
#tried this to click on the radio button from chrome settings to disable all cookies, but failed
visit "chrome://settings/cookies"
find('.//*[@id="label"]/text()').click
#find('#radioCollapse').click
#failed with this too
visit "https://mylearnwebsite.com/"
browser = Capybara.current_session.driver.browser
browser.manage.delete_cookie 'my_cookie'
#and with this as well
page.driver.browser.manage.set_cookie("{'my_cookie'}:")
end
他们都说无法定位元素或 Selenium::WebDriver::Error::NoSuchElementError
我是 Capybara 的新手,尝试使用 same.It 自动化一些 Web 应用程序功能,如果小组中的任何人建议如何在此处进行操作,那将是一个很大的帮助。
您需要位于 cookie 有效的页面上才能与 cookie 交互(WebDriver 规范限制)。假设 https://mylearnwebsite.com/
是 cookie 有效的站点,并且您使用的是 selenium 驱动程序,那么
visit "https://mylearnwebsite.com/"
page.driver.browser.manage.delete_cookie 'my_cookie' # this is driver specific
page.refresh # to reload the page without the cookie
...
将删除 cookie。由于您没有显示删除 cookie 后实际检查的内容,因此很难猜测您要实际测试的行为是什么,因此上面的代码只是调用 refresh
来查看没有 cookie 的页面状态.
Noe:从一般的 system/feature 测试目的来看,手动与 cookie 交互通常没有价值,通常最好只测试具有修改 cookie 副作用的用户行为。
我尝试了几种方法,例如使用 browser.manage.delete_cookie
以及通过执行以下操作将 cookie 设置为空:page.driver.browser.manage.set_cookie("#{'cookie_name'}:")
但其中 none 有帮助。
这是我的步骤定义文件
Given('I am on Learn Page') do
page.driver.browser.manage.window.resize_to(1800,990)
#tried this to click on the radio button from chrome settings to disable all cookies, but failed
visit "chrome://settings/cookies"
find('.//*[@id="label"]/text()').click
#find('#radioCollapse').click
#failed with this too
visit "https://mylearnwebsite.com/"
browser = Capybara.current_session.driver.browser
browser.manage.delete_cookie 'my_cookie'
#and with this as well
page.driver.browser.manage.set_cookie("{'my_cookie'}:")
end
他们都说无法定位元素或 Selenium::WebDriver::Error::NoSuchElementError
我是 Capybara 的新手,尝试使用 same.It 自动化一些 Web 应用程序功能,如果小组中的任何人建议如何在此处进行操作,那将是一个很大的帮助。
您需要位于 cookie 有效的页面上才能与 cookie 交互(WebDriver 规范限制)。假设 https://mylearnwebsite.com/
是 cookie 有效的站点,并且您使用的是 selenium 驱动程序,那么
visit "https://mylearnwebsite.com/"
page.driver.browser.manage.delete_cookie 'my_cookie' # this is driver specific
page.refresh # to reload the page without the cookie
...
将删除 cookie。由于您没有显示删除 cookie 后实际检查的内容,因此很难猜测您要实际测试的行为是什么,因此上面的代码只是调用 refresh
来查看没有 cookie 的页面状态.
Noe:从一般的 system/feature 测试目的来看,手动与 cookie 交互通常没有价值,通常最好只测试具有修改 cookie 副作用的用户行为。