Как использовать другой код в тесте пользовательского интерфейса - PullRequest
0 голосов
/ 27 апреля 2018

Я делаю Ui-тестирование на xamarin Forms на Mac У меня есть логин через Auth0 в продуктивном приложении на Ui-тесте, вы не можете проверить авторизацию в Auth0. Для этой проблемы я построил TestloginPage.

Как я могу сделать так, чтобы только на UI-тесте открывали тестовую страницу входа в систему, а в продуктивном приложении открывали обычную страницу входа?

UI-тест включен в решение с приложением.

1 Ответ

0 голосов
/ 27 апреля 2018

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

#if DEBUG
    // debug code
#else
    // release code
#endif

Вы можете просто добавить специальный символ, например "IS_UI_TEST_VERSION", а затем в своем коде сделать:

#if IS_UI_TEST_VERSION
    // Navigate to test page
#else
    // Navigate to real page
#endif

Это означает, что вам нужна специально подготовленная сборка приложения Xamarin Forms только для целей тестирования. В Visual Studio вы должны создать новую конфигурацию решения , а затем добавить свой новый символ, перейдя в свойства проекта -> Build -> добавив его в "Условные символы компиляции"

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