Capybara会话或cookie在访问之间不起作用

时间:2013-06-30 07:19:10

标签: ruby capybara capybara-webkit

我希望能够登录然后访问我的个人资料页面来获取一些信息。登录工作完美,但当我访问个人资料页面时,它无法正确显示,我要求再次登录。就像没有设置cookie或者没有创建会话一样。我怎样才能做到这一点?

我还要提一下,该网站严重依赖于框架和Javascript,例如它不适用于机械化。

require 'capybara-webkit'
require 'capybara/dsl'
require 'nokogiri'

include Capybara::DSL
Capybara.current_driver = :webkit_debug
Capybara.app_host = "https://site.com"
login = '/start.asp'
target = '/profile'

visit(login)

fill_in('user', :with => 'user)
fill_in('pass', :with => 'pass')
my_link = find(:xpath, '//*[@id="loginform"]/div/div[2]')
my_link.click

visit(target)

1 个答案:

答案 0 :(得分:0)

我会尝试这样的事情:

require 'capybara'
session = Capybara::Session.new(:selenium)
session.visit("https://site.com/start.asp")
session.fill_in('user', :with => 'user')
session.fill_in('pass', :with => 'pass')
session.click_link 'Login'
...
session.visit("https://site.com/profile")

capybara github repo - 手动使用会话

cheatsheat