0

我正在尝试在我的页面上测试登录功能,该页面有一个隐藏的表单。功能文件:

Feature: Test login page
  As a visitor to the site
  I can login

  Scenario: User login
    When I go to http://abc.com/
    And I enter username: abc and password: abc
    Then I should see "My Account (abc)"

Step_Definitions:

When /^I go to (.*)$/ do |path|
  visit path
end

require 'net/http'
When (/^I enter username: abc and password: abc$/) do
  uri = URI('http://www.abc.com/')
  res = Net::HTTP.post_form(uri,{ 'username' => 'abc' , 'password' => 'abc'})
  puts res
end

Then /^I should see "(.*)"$/ do |text|
  page.should have_content(text)
end

用户名和密码正确,但此方案失败。我是否使帖子正确..我需要保持会话或其他什么吗?res的输出也不正确,它甚至没有登录。

感谢Justin,解决方案->不要使用HTTP post,因为selenium和capybara是模仿用户行为的用户。所以请遵循用户的流程。

4

0 回答 0