如何使用Expensify WP7处理MessageBoxes?

时间:2012-06-08 16:03:57

标签: windows-phone-7.1 wp7test

我有一个Windows Phone 7.1应用程序,我正在尝试使用Expensify的WP7Test框架和SpecFlow的Gherkin功能实现som UI测试。 我在测试我的应用程序是否在第一次运行时是否正确启动时遇到了麻烦,因为我在显示主屏幕之前向用户提示有关访问GPS和Internet的消息框。 首先,这段代码(相当粗略地)在“App”类构造函数中 - 我尝试将其移动到MainPage的“OnNavigatedTo”方法,结果相同。

 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 个答案:

答案 0 :(得分:1)

因为测试框架与ui元素交互,所以它必须使用ui线程 - 所以我猜你的消息框在某种程度上阻止了ui消息泵。

也许这种情况在这里引起,因为这是你的第一页......但是我需要做一些测试来检查。

一个简单的解决方法可能是使用异步消息框方法来实现您的功能 - 但这需要您稍微重新组织页面初始化功能。


如果这对您来说是一个严重的问题,请在github中记录问题和示例测试。