gpt4 book ai didi

php - Cucumber、webrat Mechanize 在 MAMP 上测试 php/drupal 应用程序、身份验证问题

转载 作者:行者123 更新时间:2023-12-04 16:19:34 25 4
gpt4 key购买 nike

我用 Cucumber 测试我的 Drupal 应用程序,并通过如下测试:

Given /^I am authenticated as a "([^"]*)" user$/ do |role|
visit('/user')
fill_in "name", :with => "user_#{role.downcase}"
fill_in "pass", :with => "password"
click_button
visit('/') #gets around a 302 redirect issue
response_body.should contain("Log out")
end

我的 env.rb 是这样的:
require 'rspec/expectations'
require 'webrat'
require 'test/unit/assertions'

World(Test::Unit::Assertions)

Webrat.configure do |config|
config.mode = :mechanize
end

World do
session = Webrat::Session.new
session.extend(Webrat::Methods)
session.extend(Webrat::Matchers)
session.visit('http://localhost')
session
end

当我在 MAMP 上的虚拟主机是默认本地主机时,这一切都很好。但是,当我使用相同的文档创建另一个虚拟主机(并更新 session.visit 以使用新的根目录)时,此测试失败。似乎 session 丢失了。

有谁知道如何调试这个?我查看了 html 输出,它将内容显示为未经身份验证的用户,这就是我认为 session 正在重置的原因。

编辑
我检查了虚拟主机,它们完全相同。测试失败的人往往要慢一个数量级。

最佳答案

我最终搬到了 capybara 。有一些版本的 Mechanize 在发布表单数据等方面存在一些错误。 Capybara 工作得更好。

关于php - Cucumber、webrat Mechanize 在 MAMP 上测试 php/drupal 应用程序、身份验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6775579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com