0

我有一个字段,我根据页面上的下拉列表自动填充。即我选择task_type 并且task_name 填充了task_type。

我不知道如何测试这个。我基本上只是想测试该字段的当前内容是什么。

我尝试的一切似乎都能找到该字段,但无法检查其内容。

Then(/^"(.*?)" should contain "(.*?)"$/) do |field, text|
  page.should have_field(field, :text => value)
end

我假设我需要做一些 js 技巧来从浏览器获取信息,但似乎无法解决。

And I should see "Annual Accounts" in "task[name]"

也尝试过 task_name 并且都失败了

  find(field).should have_text(text)

带留言

Unable to find css "task[name]"

如果我使用

page.should have_field(field, :text => text)

然后他们失败了:

expected to find field "task_name" with text "Annual Accounts" but there were no matches. Also found "", 
4

2 回答 2

0

您可以使用have_text助手

find(field).should have_text(text)
于 2013-10-21T18:03:54.990 回答
0

是的,这两种方法都有效:不确定它们之间的区别是什么。我也认为这完全匹配。如果有人可以让我知道如何进行“包含”类型的匹配,那将非常方便。

Then(/^I should see "(.*?)" in "(.*?)"$/) do |text, field|
  # page.has_field?(field, :with => text)
  page.should have_field(field, :with => text)
end
于 2013-10-22T11:12:44.527 回答