Как мне работать с MessageBox с помощью Expensify WP7?
У меня есть приложение для Windows Phone 7.1, и я пытаюсь реализовать некоторые тесты пользовательского интерфейса, используя платформу Expensify WP7Test и функцию SpecFlow Gherkin. У меня возникают серьезные проблемы с проверкой, правильно ли запускается мое приложение при первом запуске, потому что я запрашиваю пользователя с помощью MessageBox'ов о доступе к GPS и Интернету до того, как появится главный экран. Во-первых, этот код был (довольно грубо) в конструкторе класса "App" - я попытался переместить его в метод "OnNavigatedTo" MainPage, тот же результат.
Trace:->Command timed out waiting for send
Trace:->Command timed out waiting for send
Trace:->Command timed out waiting for send
Trace:->Command timed out waiting for send
Trace:->Command timed out waiting for send
Trace:->Command timed out waiting for send
Trace:->Command timed out waiting for send
-> error: App is not yet alive
Это прекрасно работает, когда я комментирую сообщения, но я действительно хочу их протестировать - моя MainPage отображает в соответствии с ответами на эти запросы!
Я пробовал много разных шагов в сценарии для запуска приложения:
Given my app is clean installed and running /
Given my app is running within 20 seconds /
Then my app is running /
1 ответ
Поскольку тестовая среда взаимодействует с элементами пользовательского интерфейса, она должна использовать поток пользовательского интерфейса - так что, я думаю, ваш ящик сообщений каким-то образом блокирует насос сообщений пользовательского интерфейса.
Возможно, этот случай вызван здесь, потому что это ваша первая страница... но мне нужно провести некоторое тестирование, чтобы проверить.
Один простой обходной путь может заключаться в использовании асинхронных методов окна сообщений для вашей функциональности, но для этого потребуется немного реорганизовать функциональность инициализации страницы.
Если это серьезная проблема для вас, пожалуйста, зарегистрируйте проблему и пример теста в github.