Как я решаю проблему?
Во-первых, мой экран выглядит следующим образом:
Чтобы понять, что я называю следующую команду:
BUNDLE_ID={YOUR BUNDLE ID} DEVICE_ENDPOINT=http://{YOU DEVICE IP}:37265 bundle exec calabash-ios console
start_test_server_in_background
query("APNumberButton")
И я получаю мою структуру клавиатуры.
Я хотел бы использовать простую функцию в своем тесте, чтобы коснуться этой клавиатуры. Вот почему я написал помощник:
def number_pad(string)
for i in 0..string.size
case string[i]
when "1"
i_tap("APNumberButton index:0", $CLIENT_TIMEOUT)
when "2"
i_tap("APNumberButton index:4", $CLIENT_TIMEOUT)
when "3"
i_tap("APNumberButton index:8", $CLIENT_TIMEOUT)
when "4"
i_tap("APNumberButton index:1", $CLIENT_TIMEOUT)
when "5"
i_tap("APNumberButton index:5", $CLIENT_TIMEOUT)
when "6"
i_tap("APNumberButton index:9", $CLIENT_TIMEOUT)
when "7"
i_tap("APNumberButton index:2", $CLIENT_TIMEOUT)
when "8"
i_tap("APNumberButton index:6", $CLIENT_TIMEOUT)
when "9"
i_tap("APNumberButton index:10", $CLIENT_TIMEOUT)
when "0"
i_tap("APNumberButton index:7", $CLIENT_TIMEOUT)
end
end
end
Я вызываю его каждый раз, когда приложение использует эту клавиатуру.