Функция set_text ничего не делает в calabash-android 0.4.20

После того, как я обновил calabash-android с 0.4.18 до 0.4.20, функция set_text в моем скрипте ничего не делает, я не могу установить текст для текстового поля Usename и Password. Скрипт по-прежнему отлично работает с Calabash-android 0.4.18. Изучив исходный код библиотеки, я обнаружил, что есть различия между функцией set_text версии библиотеки 0.4.18 и 0.4.20. Вот 2 фрагмента кода:

C:\Ruby193\lib\ruby\gems\1.9.1\gems\calabash-android-0.4.18\lib\calabash-android\operation.rb

def set_text(uiquery, txt)
raise "Currently queries are only supported for webviews" unless uiquery.start_with? "webView"

uiquery.slice!(0, "webView".length)
if uiquery =~ /(css|xpath):\s*(.*)/
  r = performAction("set_text", $1, $2, txt)
  JSON.parse(r["message"])
else
 raise "Invalid query #{uiquery}"
end
end

C:\Ruby193\lib\ruby\gems\1.9.1\gems\calabash-android-0.4.20\lib\calabash-android\operation.rb

def set_text(uiquery, txt)
view,arguments = uiquery.split(" ",2)
raise "Currently queries are only supported for webviews" unless view.downcase == "webview"

if arguments =~ /(css|xpath):\s*(.*)/
  r = performAction("set_text", $1, $2, txt)
else
 raise "Invalid query #{arguments}"
end
end 

У кого-нибудь есть такая же проблема? Пожалуйста помоги мне с этим.

Спасибо.


person user3363390    schedule 28.02.2014    source источник


Ответы (1)


Я думаю, это должно помочь тебе

query("insert your query", setText: "insert text here")

Например:

query("EditText id:'username'", setText:"[email protected]")
query("EditText id:'password'", setText:"secret_password")
person arc    schedule 14.03.2014