2016-03-08 21 views
2

我正在自动执行用户单击“计算”按钮的测试。CodedUI Test +延迟/承诺:Mouse.Click()执行点击操作,调用httpPost,不再执行'then'或'finally'

计算了一些值,然后显示在一个新的网格中。在手动点击时,这个计算需要4秒左右的时间让额外的控制显示在屏幕上。

当我运行测试时,该按钮被正确点击,但之后应用程序冻结。

我曾尝试:

  • WaitForControlReady
  • WaitForControlEnabled
  • WaitForControlVisible
  • WaitForControlExist
  • TryGetClickablePoint
  • 的Thread.Sleep
  • Playback.Wait
  • Playback.PlaybackSettings.DelayBetweenActions
  • 禁止{} Thread.sleep代码,而(!TryGetClickablePoint())
  • 重试

所有没有成功。

计算按钮将调用JavaScript方法(带延迟/承诺),这反过来会调用c#方法来进行实际计算。

当点击后没有Playback.Wait(5000)时,不会产生朝向c#代码的http.post。

所以我等了5秒钟,现在正在打电话,我可以看到一个响应进来。但是,'.then'(或'.finally')没有被击中。

我在这里看过这里CodedUI Test- Mouse.Click() on control dose not give expected outcome 这里Coded UI Tests - Clicking button does suddenly not work但我没有能够从任何一个扣除解决方案。

任何帮助将不胜感激。

回答