Элементы поиска неисправностей или экранные координаты в RELP / UITest в проекте iOS Xamarin Forms - PullRequest
0 голосов
/ 08 июля 2019

Я работаю над приложением Xamarin Forms (на данном этапе поддерживаю только IOS) и хочу добавить некоторые тесты пользовательского интерфейса в решение.Следуя рекомендованному стандартному подходу (например, https://www.codetraveler.io/2018/05/22/creating-uitests-for-xamarin-forms-apps-part-1/), я могу заставить приложение запускаться в симуляторе и запускать сеанс REPL / делать снимки экрана.

После загрузки приложения пользователю отображается экранс некоторой информацией, которую они отклоняют, проводя справа налево или нажимая кнопку «следующий». REPL может правильно идентифицировать элементы на экране, но кнопка «следующий» (или любой другой элемент в этом отношении) не реагирует накоманда tap. Вызов следующего кода:

app.Tap("next");

приводит к сообщению:

Tapping element matching Marked("next") at coordinates [ 689.25, 53.75 ].

Однако на самом деле в симуляторе ничего не изменилось. Я пытался взаимодействовать с множеством других элементов илиСелекторы запросов (например, с помощью app.Marked ..), а также попытались постукивать по координатам с помощью app.TapCoordinates (); кажется, что ничего не реагирует в сеансе открытого симулятора.

Интересно, команда

app.SwipeRightToLeft();

ПРАВИЛЬНО регистрируется и вызывает отключение заставки в симуляторе.

У меня есть trЯ настроил пустой тестовый проект с использованием XF 4.1, и это, кажется, работает нормально, но я не верю, что версия XF может быть проблемой здесь, больше похоже на настройку симулятора.Параметр «Включить автоматизацию пользовательского интерфейса» на вкладке «Разработчик» уже включен.

- Solution: 
  Xamarin.Forms 2.5.1

- Solution.IOS: 
  Xamarin.Forms 2.5.1
  Xamarin.TestCloud.Agent 0.21.8

- Solution.UITest: 
  NUnit: 2.7
  NUnitTestAdapter: 2.2.0 (not sure this is needed?)
  Xamarin.UITest 3.0.0

- Simulator: iPad Pro (12.9 inch) (3rd gen) iOS 12.2

1 Ответ

0 голосов
/ 08 июля 2019

Таким образом, происходит неправильное масштабирование приложения на iPad больших размеров (больше 9,3 дюйма).

Вызов:

app.TapCoordinates(689.25 * 1.3, 53.75 * 1.4)

дает желаемый эффект.

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

https://forums.xamarin.com/discussion/113639/app-tap-wrong-coordinates-on-ipad

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...