Пустой экран Google Maps на пользовательском интерфейсе теста Xamarin Android - PullRequest
0 голосов
/ 27 июня 2018

Я пишу Ui-тест для проекта Xamarin Forms, при использовании Google Map на iOS они работают нормально, но на андроиде показывают только пустой экран. Если построить на отладке / выпуске или установить apk карты работают, но если я использую UI, ничего не проверяйте. Я использую Nunit 2.6.4 и тестирую на локальном устройстве, эмуляторе и AppCenter.

1 Ответ

0 голосов
/ 30 июня 2018

Почему существует эта проблема

Когда вы компилируете свой .apk с включенными Google Maps, Карты используют ваши настройки Keystore, чтобы убедиться в правильности карт (я не могу вспомнить точные данные, но в основном - если информация о хранилище ключей использовалась для подписи .apk меняется - это ломает карты).

По умолчанию, когда вы используете UITest без отправки информации о хранилище ключей - UITest выполняет различные магические действия со своим собственным хранилищем ключей. Это приводит к тому, что карты перестают работать.

Как решить это локально

Чтобы исправить выполнение теста локально, вы должны указать UITest использовать хранилище ключей, которое вы использовали для создания файла .apk:

public AndroidAppConfigurator KeyStore (String path, String storePassword, String keyPassword, String keyAlias)

Это метод, который вы хотите использовать при настройке конфигурации приложения:

ConfigureApp
   .Android
   .ApkFile("path/to/my.apk")
   .Keystore(path, password, alias)
   .StartApp(mode);

Как решить эту проблему в App Center

Если вы хотите отправить свои тесты в App Center, вам нужно будет сделать еще одну вещь - включить информацию о хранилище ключей при вызове appcenter-cli, используя следующие параметры (которые вы можете получить из appcenter test run uitest --help

   --key-password <arg>                 Password to the matching private  
                                        key in the keystore. Corresponds  
                                        to the "-keypass" argument in     
                                        jarsigner                         
   --key-alias <arg>                    Alias to the key in the keystore. 
                                        Corresponds to the "-alias"       
                                        argument in jarsigner             
   --store-password <arg>               Password to the keystore.         
                                        Corresponds to the "-storepass"   
                                        argument in jarsigner             
   --store-path <arg>                   Path to the keystore file

P.S. Если у вас есть проблемы с Центром приложений - я бы порекомендовал открыть беседу с помощью виджета «Интерком» в нижнем углу веб-сайта - это перенаправит вас в группу поддержки тестирования, которая сможет вам помочь (вы можете даже получить поговорить со мной! :))

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