2015-08-26 4 views
0

Я использую Calabash для выполнения некоторого автоматического тестирования пользовательского интерфейса для своего приложения, и я пытаюсь коснуться некоторых представлений, которые встроены в более крупный вид, поэтому я не могу получить доступ к их точное имя, чтобы коснуться их напрямую.Посмотрите, где происходят симуляторы iOS

Так что я пытаюсь прикоснуться к ним, используя относительный центр представления, в который они встроены, однако я просто слепо корректирую свое смещение, чтобы попытаться поразить эти взгляды, не зная, буду ли я дальше или ближе к виду.

Итак, мой вопрос, есть ли способ показать, что даже прикосновение даже в симуляторе iOS? Я думаю что-то вроде точки или какой-то способ указать, что произошло прикосновение и где оно произошло.

Любая помощь приветствуется, спасибо!

+0

Я видел этот пост на старой группу Google о кальяне-ИСН https://groups.google.com/forum/#!topic/calabash-ios/ybbhwfMJw7E об использовании родительского ключевого слова, чтобы пройти через вложенные просмотры. Я не знаю, поможет ли это в вашем случае, но делать что-то подобное вместо hardcoding было бы лучше. – Lasse

+0

Моя проблема заключается в том, что эти «взгляды», которые я пытаюсь прикоснуться, являются частью одного единственного вида, а не кучи вложенных представлений. Это частная библиотека, поэтому я не могу взглянуть на фактическую реализацию, но когда я смотрю на иерархию представления Debug View, рассматриваемое представление - это просто одно большое представление, все это появляется и исчезает как одно, когда я иду через иерархию. –

+0

https://github.com/morizotter/TouchVisualizer – MCMatan

ответ

0

Похоже, что есть не встроенные виды, а только один вид, который реагирует на касания в разных местах.

Язык запросов Calabash может находить виды, встроенные в другие виды.

В дополнение к визуализации касания вы можете попробовать выполнить регистрацию, где происходят касания. Приложение Briar iOS Example has an example of how to do this. Суть заключается в создании подкласса UIWindow, добавлении метода для перехвата селектора sendEvent:, регистрации точки касания, а затем вызова UIWindow's sendEvent:.

Вы можете просматривать журналы устройств в окне Device Xcode в (Shift + Ctrl + 2) или с ideviceinstaller:

$ idevicesyslog -u <udid> 

Вы можете использовать запустить петлю на хвост журнал тренажере.

# Simulator must be launched. App does not have to be running. 
$ run-loop simctl tail 
Смежные вопросы