Calabash Android - 有没有办法输入文字而不必包含该字段?

时间:2016-01-21 13:34:09

标签: gherkin calabash-android

有没有办法可以通过输入

在我的脚本中输入文字
Then I enter "fgood2@hotmail.com"

而不是

Then I enter "fgood2@hotmail.com" into "edit_text_dialog_first_field"?

这适用于Calabash Android。

由于

3 个答案:

答案 0 :(得分:4)

我建议您创建自定义步骤定义,然后可以在场景中调用该步骤。使用预定义的步骤通常是不好的做法。

  • 在你的功能文件
  • 中创建一个名为android_steps的文件夹
  • 在该文件夹中创建一个名为my_steps.rb的文件(最终您需要特定于一个文件的多个步骤文件,即登陆页面,登录,菜单)
  • 使用正则表达式,您可以在my_steps.rb文件中创建步骤定义
  • 看起来像

    Then (/^I enter (.*)$/) do |information|
        touch("* id:'Field_id_you_want_to_enter_info_into'")
        keyboard_enter_text(information)
    end
    

我建议你制作一个更直观的步骤名称,尽管我将(。*)输入到用户名字段中 我已经开始在youtube上创建一个介绍指南了。请参考 https://www.youtube.com/playlist?list=PLInoIpH9dfLyvdaOjozON9QnQP1pK30y-

答案 1 :(得分:1)

您仍然可以写.feature个文件,但您必须根据自己的功能撰写step definitions

Then I enter "fgood2@hotmail.com或此Then I enter "fgood2@hotmail.com" into "edit_text_dialog_first_field"?并不重要。

如果您使用

Then I enter "fgood2@hotmail.com" into "edit_text_dialog_first_field"?

您的步骤定义将

Then (/^I enter "(.*?)" into "(.*?)$/") do | arg1, arg2 |
  do action...
end

如果您使用

Then I enter "fgood2@hotmail.com

您的步骤定义将

Then (/^I enter "(.*?)") do | arg1 |
  do action...
end

答案 2 :(得分:0)

如果你需要一些例子,自定义步骤可以更好地帮助你,试试这个链接here