2014-04-04 2 views
1

Я пытаюсь реализовать UIAutomation скрипт следующим образом:UIAutomation UICollectionView клетка не может быть перехвачен

var target = UIATarget.localTarget();  
var window = target.frontMostApp().mainWindow(); 
var collectionView = window.collectionViews()[0]; 
collectionView.cells()[0].tap(); 

Когда я запускаю сценарий, я получаю следующее в журнале:

target.frontMostApp().mainWindow().collectionViews()[0].cells()[0].tap() 
target.frontMostApp().mainWindow().collectionViews()[0].cells()[0].scrollToVisible() 

Script threw an uncaught javascript error: t...cells()[0] could not be tapped 

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

ответ

2

Я испытываю то же самое. Если вы используете Инструменты-> Автоматизация для записи нового скрипта, вы увидите, что он обычно имеет .tapWithOptions({tapOffset:{x:0.15, y:0.35}}), а не объект .tap().

Я не уверен, что такое структура отображения, но приложение, которое я тестирую, имеет представления коллекции в ячейках коллекции. Пока target.frontMostApp().mainWindow().collectionViews()[0].cells()[0].collectionViews()[0].cells()[0] работает target.frontMostApp().mainWindow().collectionViews()[0].cells()[1].collectionViews()[0].cells()[0] не делает, target.frontMostApp().mainWindow().collectionViews()[0].cells()[1].collectionViews()[0].tapWithOptions({tapOffset:{x:0.17, y:0.42}}) работает, но я бы предпочел .cells()[0] работал.

+0

Спасибо за ответ! Стал бы голосом, но не имеет репутации;) – Bounce