2016-01-21 19 views
0

有沒有一種方法,我可以在我的腳本通過鍵入Calabash Android - 有沒有一種方法可以輸入文本而不必包含該字段?

Then I enter "[email protected]" 

只需輸入文字,而不是

Then I enter "[email protected]" into "edit_text_dialog_first_field"? 

這是Android的葫蘆。

感謝

+0

你能否重新寫下這個問題,我幾乎不明白你想達到什麼目的。 –

+0

對不起,我重新編輯。我只想輸入文本,而不必在.feature文件中包含腳本字段。當我只嘗試單獨輸入文本時,我會收到一條錯誤消息,指出該步驟未定義。 –

回答

1

無論如何你可以寫.feature文件,但你必須根據你的功能寫step definitions

這個Then I enter "[email protected]或這個Then I enter "[email protected]" into "edit_text_dialog_first_field"?並不重要。

如果使用

Then I enter "[email protected]" into "edit_text_dialog_first_field"? 

你的步驟定義將

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

如果使用

Then I enter "[email protected] 

你的步驟定義將

Then (/^I enter "(.*?)") do | arg1 | 
    do action... 
end 
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-

+2

使用'enter_text(查詢,文本)'通常比自己使用原始手勢觸摸和輸入文本要好。使用enter_text試圖確保文本實際上被輸入到目標字段中,並確保它被追加。 – Tobias

+2

我會建議寫下如「然後我輸入一個有效的電子郵件」的步驟 - 假設您正在測試有效的電子郵件或試圖登錄。 – jmoody

+0

@Tobias不錯的一個! – Aravin

0

葉氏,自定義的步驟幫助了好多了,如果你需要一些例子,試試這個鏈接here

相關問題