Есть ли способ использовать координаты для выбора элемента в автоматизации тестирования IOS UI? -- ios поле с участием swift поле с участием ui-automation поле с участием ios-ui-automation пол Связанный проблема

Is there a way to use coordinates to select an element in iOS UI Test Automation?


1
vote

проблема

русский

Я имею дело с <код> UICollectionView , который имеет много элементов. Один из них, это <код> UISuplementaryView , который содержит множество кликабельных ячеек (это календарь).

Когда я делаю <Код> po print(debugDescription) Я получаю много элементов типа «Другое», которое похоже на этот
<Код> Other 0x7f8a4cb06e30: traits: 8589934592, {{0.0, -1175.5}, {50.0, 38.0}}
Кто-нибудь знает, есть ли способ использовать эти координаты для взаимодействия с элементом?

Английский оригинал

I'm dealing with a UICollectionView that has many elements. One of them, it's a UISuplementaryView that contains many clickable cells (it's a calendar).

When I do po print(debugDescription) I get many elements of type "other" that look like this
Other 0x7f8a4cb06e30: traits: 8589934592, {{0.0, -1175.5}, {50.0, 38.0}}
Does anyone know if there is a way to use these coordinates to interact with the element?

</div
           

Список ответов

1
 
vote

Сначала попробуйте назначить элементы доступности, прежде чем отбросить до координаты API. В вашем производстве Code установите <код> accessibilityIdentifier на <код> UISupplementaryView .

 <код> func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView {     UICollectionReusableView *reusableview = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"Identifier" forIndexPath:indexPath];     reusableView.accessibilityIdentifier = "Reusable View (indexPath.row)"     return reusableView }   

Затем в тестировании UI взаимодействуют с ним через:

 <код> let app = XCUIApplication() app.otherElements["Reusable View 3"].tap()   
 

First try to assign the elements accessibility traits before dropping down to the coordinate API. In your production code, set accessibilityIdentifier on the UISupplementaryView.

func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView {     UICollectionReusableView *reusableview = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"Identifier" forIndexPath:indexPath];     reusableView.accessibilityIdentifier = "Reusable View (indexPath.row)"     return reusableView } 

Then, in UI Testing, interact with it via:

let app = XCUIApplication() app.otherElements["Reusable View 3"].tap() 
</div
 
 

Связанный проблема

-1  Продолжайте получать ошибку безопасности транспорта HTTP, даже если я добавил код, чтобы обойти безопасность  ( Keep getting http transport security error even though i have added the code to ) 
Я пробовал множество различных методов, как правило, код, который я использую работы. Однако в этом случае я не уверен, если это делать с кодом из учебника, к...

3  Facebook IOS SDK: войдите в Facebook без всегда просить разрешений для приложения  ( Facebook ios sdk login to facebook without always ask for permissions for the a ) 
Я использую Facebook iOS SDK в моем приложении, и у меня есть два подобных вопроса: Есть ли способ узнать, есть ли в настоящее время войти пользователя? ...

46  Как проверить push-уведомление работает в моем приложении  ( How to test push notification is working in my application ) 
В моем приложении я реализую службу Push-уведомления. У меня есть сервер поставщика контента, который содержит некоторые продукты в нем. Я создал сертификат...

38  Android / iOS одноранговая архитектура [закрыто]  ( Android ios peer to peer architecture ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт . Этот вопрос должен быть больше Фокусированный . В настоя...

1  UIREFRESHCONTROL в UiscrollView не срабатывает, когда используется большой заголовок  ( Uirefreshcontrol in a uiscrollview is not triggered when large title is used ) 
Когда я использую большие заголовки для панели навигации, добавленные элементы управления UIREFRESH для UIScrollView не срабатывают при вытянутом состоянии ...

0  ДолкоуторуtateTiointerfaceSorentation в IOS6  ( Shouldautorotatetointerfaceorientation in ios6 ) 
Я использую <код> UIImagePickerviewController , чтобы открыть библиотеку фото через присоединенный код ниже ... после вызова битовых строк кода. Приложение бы...

0  Сохранить выбор UipickView к NsuserDefaults Swift  ( Save uipickerview selection to nsuserdefaults swift ) 
Я пытаюсь сохранить выбор пользователя от Uipickerview до NsuserDefaults. Я нашел ответы в Obj-C, но не быстрее. Вот мой код UipickView: <код> func numberOf...

6  Как изменить размер изображения, чтобы соответствовать ячейке UiableView?  ( How to resize image to fit uitableview cell ) 
Как соответствовать <код> UIImage в ячейку <код> UITableView , uableviewcell (?). Вы <Код> addSubview на <Код> cell или есть ли способ изменить размер <к...

2  IOS: Как нарисовать линию между двумя движущимися объектами?  ( Ios how to draw a line between two moving objects ) 
Я в основном имеющую массив объектов UIView, которые находятся на экране. Они перемещаются случайным образом вокруг, и я хотел бы иметь строку, соединяющую ка...

0  Уволить контроллер просмотра, когда он был назван «PerforgeGege»?  ( Dismiss view controller when it was called by performsegue ) 
У меня есть три контроллера просмотра: <код> Main , <код> VC1 , а <код> VC2 . Всякий раз, когда приложение запускает метод делегата определяет, какой VC будет...

4  Основные данные Nsfetchrequest также выбирают детей объектов объекта  ( Core data nsfetchrequest also fetches children objects of the entity ) 
Я новичок в iOS Dev и основные данные. У меня есть родительский NsmanageObject <код> @class Units; @interface Properties : NSManagedObject @property (nonat...

7  Никогда не получайте загрузку данных в Google API для iOS  ( Never getting uploading data progress in google api for ios ) 
Я использую Googledrive API в своем приложении, чтобы загрузить файлы из моего приложения. До сих пор мне удалось найти хорошие результаты для загрузки всех т...

5  UidocumentPickerviewController - метод делегата не вызывается  ( Uidocumentpickerviewcontroller delegate method not being called ) 
Я использую UidocumentPickerviewController, чтобы выбрать документы из файлов и загружать его на сервер. Я могу успешно получить доступ к файлам, но при нажат...

1  Обновление NsmanageObjects на заднем плане  ( Updating nsmanagedobjects in the background ) 
Я пытаюсь обновить NSManagedObject в фоновом режиме на основе свойств из сети сети. Возникли проблемы с обертыванием моей головы вокруг параллелизма. То, что ...

1  Доступ к файлу, сохраненному на устройство WriteToFile  ( Accessing file saved to device writetofile ) 
Я экономя свой текст UItextView в файл, test.txt <код> NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSS...

Связанный проблема

-1  Продолжайте получать ошибку безопасности транспорта HTTP, даже если я добавил код, чтобы обойти безопасность 
3  Facebook IOS SDK: войдите в Facebook без всегда просить разрешений для приложения 
46  Как проверить push-уведомление работает в моем приложении 
38  Android / iOS одноранговая архитектура [закрыто] 
1  UIREFRESHCONTROL в UiscrollView не срабатывает, когда используется большой заголовок 
0  ДолкоуторуtateTiointerfaceSorentation в IOS6 
0  Сохранить выбор UipickView к NsuserDefaults Swift 
6  Как изменить размер изображения, чтобы соответствовать ячейке UiableView? 
2  IOS: Как нарисовать линию между двумя движущимися объектами? 
0  Уволить контроллер просмотра, когда он был назван «PerforgeGege»? 
4  Основные данные Nsfetchrequest также выбирают детей объектов объекта 
7  Никогда не получайте загрузку данных в Google API для iOS 
5  UidocumentPickerviewController - метод делегата не вызывается 
1  Обновление NsmanageObjects на заднем плане 
1  Доступ к файлу, сохраненному на устройство WriteToFile