Cucumber Poltergeist JS/无头镀铬-切换到脱机模式

Cucumber Poltergeist JS/无头镀铬-切换到脱机模式,cucumber,google-chrome-headless,poltergeist,Cucumber,Google Chrome Headless,Poltergeist,我想写一个测试,我可以在离线模式和在线模式之间切换,中途通过cucumber测试。我可以通过Chrome中的开发工具手动实现这一点,但有没有一种方法可以使用Poltergeist JS或Headless Chrome实现自动化 我知道page.driver是可访问的,实际上我在另一个测试中使用它来设置cookie值 Given(/^I set the "([^"]*)" cookie value to "([^"]*)" for the domain "([^"]*)"$/) do |cooki

我想写一个测试,我可以在离线模式和在线模式之间切换,中途通过cucumber测试。我可以通过Chrome中的开发工具手动实现这一点,但有没有一种方法可以使用Poltergeist JS或Headless Chrome实现自动化

我知道
page.driver
是可访问的,实际上我在另一个测试中使用它来设置cookie值

Given(/^I set the "([^"]*)" cookie value to "([^"]*)" for the domain "([^"]*)"$/) do |cookieName,cookieValue,cookieDomain|
  if "#{DRIVER}" == "headless_chrome"
    page.driver.browser.manage.add_cookie name: cookieName, value: cookieValue, domain: cookieDomain
  else
    page.driver.set_cookie(cookieName, cookieValue, {:domain => cookieDomain})
  end
  sleep 1
end

除非我遗漏了什么,否则我看不到如何在离线和在线模式之间切换。有人在他们的测试设置中这样做了吗?

当使用Selenium with Chrome作为您可以使用的驱动程序时


我不相信Poltergeist有类似的功能。

当使用Selenium和Chrome作为驱动程序时,您可以使用它


我不相信Poltergeist有类似的功能。

感谢提供的答案,帮助很大,我确实必须指定
page.driver.browser.network\u条件={离线:真的,延迟:0,吞吐量:0}
在我的情况下,把它放在这里,以防它帮助其他人获得提供的答案,帮助很大,我确实必须指定
page.driver.browser.network_条件={offline:true,延迟:0,吞吐量:0}
在我的例子中,把它放在这里,以防它帮助其他人
page.driver.browser.network_conditions = { offline: true }