我正在寻找一个测试,通过 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与Chrome一起用作驱动程序时,可以使用network_conditions =
page.driver.browser.network_conditions = { offline: true }
我不认为Poltergeist具有类似的功能。
感谢您提供的答案,
page.driver.browser.network_conditions = { offline: true, latency: 0, throughput: 0 }
它对您有很大帮助,我确实需要在我的情况下进行说明,以防其他人误解