Gra*_*ier 3 cucumber phantomjs poltergeist
我有一个设置cookie的网页document.cookie = value,它在服务器上运行时运行良好.
然而,在我的黄瓜测试中(使用Poltergeist/PhantomJS),cookie不会从一页到下一页持续存在.
测试流程为:
在针对正在运行的服务器的真实浏览器中,它很好.
但在黄瓜中,第4步的显示显示它看到一个空白的cookie.
有谁知道如何修复或调查这个?
事实证明我从其他一些页面得到了一些不好的建议,这实际上干扰了Poltergeist的自然行为.
我把那个废话拿走了,并且Poltergeist工作了.我已经在测试中实现了一种更好的替代方法来设置cookie,一切都很好.
根据大众需求,这里是我的测试步骤中的cookie-setter代码:
case Capybara.current_session.driver
when Capybara::Poltergeist::Driver
page.driver.set_cookie(k,v)
when Capybara::RackTest::Driver
headers = {}
Rack::Utils.set_cookie_header!(headers,k,v)
cookie_string = headers['Set-Cookie']
Capybara.current_session.driver.browser.set_cookie(cookie_string)
when Capybara::Selenium::Driver
page.driver.browser.manage.add_cookie(:name=>k, :value=>v)
else
raise "no cookie-setter implemented for driver #{Capybara.current_session.driver.class.name}"
end
Run Code Online (Sandbox Code Playgroud)
重要CAVEAT:如果您使用上述代码通过测试步骤设置cookie,则可能不允许您的页面的Javascript覆盖它.如果您的测试需要您的页面来更改cookie,您可能会发现cookie永远不会被更改.
| 归档时间: |
|
| 查看次数: |
1379 次 |
| 最近记录: |