2015-12-04 2 views
0

проблема в том, что я пытаюсь написать большой текст, используя keyboard_enter_text, и каждый раз, когда этот код запускается, он останавливается в половине и запускается снова, после чего он дает мне ошибку таймаута.Как установить тайм-аут клавиатуры на клавиатуре calabash?

And I write an large post into post field   # features/step_definitions/my_first_steps.rb:27 
    Time out waiting for UIAutomation run-loop for command uia.typeString('new post test new post test new post test new post test new post test new post test new post test new post test new post test new post test new post test new post test new post test new post test new post test new post test new post test new post test new post test new post test new post test new post test ', ''). Waiting for index:3 (RunLoop::TimeoutError) 
    ./features/step_definitions/my_first_steps.rb:31:in `/^I write an large post into post field$/' 
    features/add_post.feature:19:in `And I write an large post into post field' 

я уже пробовал писать в текстовом поле с помощью set_text, но это не рекомендуется.

Как я могу это решить?

Заранее спасибо.

ответ

-2

Да, есть проблема с запуском цикла, есть работа, если вы хотите набрать длинную строку. Вы можете использовать ту же строку уменьшить длину и ввести три раза, как это:

Then I use the native keyboard to enter "new post test new post test new post test new post " into the "Email" input field 
Then I use the native keyboard to enter "new post test new post test new post test new post " into the "Email" input field 
Then I use the native keyboard to enter "new post test new post test new post test new post " into the "Email" input field 
+0

Спасибо, @Manidroid. На данный момент я использую ваше обходное решение. –

2

Мы начали видеть это чаще на представлениях с глубокими зрения иерархии.

Calabash обходит всю иерархию представлений перед вводом текста. Он делает это из-за ошибок в UIAutomation. Долгое время пользователи Calabash вспоминали дни, когда строки были неправильно введены, символы были пропущены или дублированы, или набрав разбитое приложение.

Исправление собирало как можно больше информации об иерархии вида до ввода.

Обойти это вызов:

uia("uia.typeString('String to type')") 

Недостатком является то, что вы не получите какой-либо ошибки проверки, что кальян обеспечивает. Мы расследуем этот вопрос.

+0

Спасибо, @jmoody. Но кажется, что я получаю ту же ошибку. 'Время ожидания ожидания UIAutomation для команды uia.typeString ('большая строка'). Ожидание индекса: 3 (RunLoop :: TimeoutError) ./features/step_definitions/my_first_steps.rb:44:in '/^Я пишу большой пост в поле post $/'' –

 Смежные вопросы

  • Нет связанных вопросов^_^