Frank无法使用标记触摸textField

时间:2012-11-30 09:07:05

标签: ios testing cucumber bdd frank

我有一个UITableViewCell,它由一个UITextLable和一个UITextField组成 这个UITextField没有占位符和accessibilityhint 我必须编写我的功能文件,按标签触摸此UITextFeild。

When /^I touch the (\d*)(?:st|nd|rd|th)? text field$/ do |ordinal|
    ordinal = ordinal.to_i
    text_field_selector = "textField tag:#{ordinal}"
    touch (text_field_selector)
end

通过这个步骤定义,frank(黄瓜)提出错误消息说

could not find anything matching [textFeild tag:2]

我已将代码更改为:

When /^I touch the (\d*)(?:st|nd|rd|th)? text field$/ do |ordinal|
    ordinal = ordinal.to_i
    text_field_selector = "textField tag:#{ordinal}"
    frankly_map (text_field_selector, 'becomeFirstResponder')
end

现在,坦率终于没有提出任何错误消息,并标记为测试步骤已通过,我期待在进入此测试步骤时,键盘会出现并等待用户输入文字。 实际结果是键盘闪了一下,很快就消失了。什么都不能输入。

这很奇怪,我不确定这是什么。

1 个答案:

答案 0 :(得分:0)

我不知道坦率但你可以使用ask方法在Cucumber的控制台中捕获一个参数。看起来像这样:

When /^I touch the text field$/ do
    ordinal = ask("Which field number?").to_i
    text_field_selector = "textField tag:#{ordinal}"
    touch (text_field_selector)
end