我希望编写一个测试,我可以在 Cucumber 测试中途在离线模式和返回在线模式之间切换。我可以通过 Chrome 中的 Dev Tools 手动实现这一点,但是有没有一种方法可以使用 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 和 Chrome 作为驱动程序时,您可以使用 network_conditions=
page.driver.browser.network_conditions = { offline: true }
我不相信 Poltergeist 有类似的功能。