cucumber-nagios / webrat提交空表格

时间:2011-05-12 23:12:22

标签: cucumber webrat

我是ruby的新手,我开始使用cucumber-nagios进行一些BDD测试。

我已经使用以下说明在Mac Pro上安装了cucumber-nagios:

http://auxesis.github.com/cucumber-nagios/

我的Mac正在运行Snow Leapord 10.6.6并安装了ruby 1.8.7。

我创建了一些简单的功能来机械化表单提交。但是,每当我提交表单时尝试,表单字段的值都不会随请求一起传递。不返回任何错误(除了报告处理预期响应页面的最后一步的错误)。

认为表格可能太复杂了我在w3网站上使用了一个非常简单的表格作为最简单的测试用例。

http://www.w3schools.com/html/html_forms.asp

提交的表格是:

用户名:

这些是我的功能步骤:

When I go to "http://www.w3schools.com/html/html_forms.asp"

And I fill in "user" with "Chinese"

And I press "Submit"

Then I should see "user=Chinese"

填写表格是使用http_steps.rb =>中提供的golden-nagios标准步骤代码完成的。

When /^I fill in "(.*) with "(.*)"$/ do | field, value|
    fill_in(field, :with => value)
end

运行时

cucumber-nagios features/form.feature

除了最后一步之外,所有步骤都已通过,HTML回复表明我没有使用我的表单提交任何数据。

我开启了webrat日志记录,但这并没有提供任何有用的信息。

正如我所说,我在其他网站和表单上尝试过类似的代码,结果完全相同。

我唯一能想到的是,我错过了整个黄瓜 - 纳吉奥斯设置中的一些重要部分。我是否需要像创建Rails应用程序一样创建和配置数据库?请原谅我的无知。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我们将其追踪到webrat,而不是正确地发布表单。

虽然它不是一个优雅的解决方案,但我们发现告诉webrat它处于Rails模式解决了这个问题。

将以下代码添加到features/support/env.rb文件中,该文件由cucumber-nagios在您创建新项目时生成。

Webrat.configure do |config|
 config.mode = :rails
 config.open_error_files = false
end

我写了一篇名为Checking form Submissions with Cucumber-Nagios的博客文章,更详细地解释了答案。