无法使用calabash

时间:2016-09-29 05:40:06

标签: android ruby calabash

我是calabash的新手。我无法使用文本点击文本视图..我的功能文件看起来像这样

 Feature: Login feature

Scenario: As a valid user I can log into my app
Given I enter text "hello" into field with id "search_autoCompleteTextView"
Then I press the enter button
Then I press the text view "click here"

我的steps.rb文件看起来像这样

require 'calabash-android/calabash_steps'
Given /^I enter text "([^\"]*)" into field with id "([^\"]*)"$/ do |text, id|
  enter_text("* id:'#{id}'", text)
end

Then /^I press the enter button$/ do
  perform_action('send_key_enter')
end

Then /^I press the text view "([^\"]*)"$/ do |text|
  tap_when_element_exists("* text:'#{text}'")
end

当我使用cmd运行脚本时 - calabash-android运行“apk到路径”“功能文件路径”,显示1步未定义

命令提示符的截图

command prompt

但是当我使用calabash控制台时 触摸(“* text:'点击这里'”)。它工作正常。

2 个答案:

答案 0 :(得分:0)

正如您在屏幕截图中看到的输出。您的语法和命令提示输出中显示的语法略有不同。

正确的语法是:

Then /^I press the text view "([^"]*)"$/ do  |text|

您需要删除步骤定义中的其他字符“\”。

希望这有帮助:)将此答案标记为已接受,如果它适合您。感谢

答案 1 :(得分:0)

您有空格语法错误,

您的代码:

Then /^I press the text view "([^\"]*)"$/ do  |text|
    tap_when_element_exists("* text:'#{text}'")
end

修改:

Then /^I press the text view "([^\"]*)"$/ do |text|
    tap_when_element_exists("* text:'#{text}'")
end

" do"之间的额外空间&安培; " |文|"尝试修改并告诉我。