【问题标题】:Coded UI execution is extremely slow than usual?编码的 UI 执行速度比平时慢吗?
【发布时间】:2014-06-18 09:57:51
【问题描述】:

我用五个 UIMap 编写了 UI 项目。其中一个 UIMap 非常大,它涵盖了测试应用程序的几个功能。突然,编码的 UI 播放变得如此缓慢。我将大型 UIMap 中的一些功能分离到单独的 UIMap 中。但是仍然有一些测试方法的运行速度比平时慢。有什么解决方案可以解决这个问题吗?

【问题讨论】:

    标签: automated-tests mstest ui-automation coded-ui-tests


    【解决方案1】:

    您可以在 TestInitialize 部分中使用以下设置并检查这是否解决了您的目的。现在我们不需要在 UI 控件忙且未准备好接收输入时添加烦人的睡眠语句。 默认情况下,引擎会检查 UI 线程(前台线程)以确定控件是否准备就绪。 Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.Disabled;

    通过实现这一点,您可以减少执行时间。

    【讨论】:

    • Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.Disabled; 没有解决播放慢的问题。你认为重新创建 UIMap 会解决这个问题吗?
    【解决方案2】:

    我还不能发表评论,所以这里是一个答案。

    我遇到了同样的问题。见Coded ui Test fails at random times on server

    waitforcontrolready 是 PropertyExpressionOperator.Contains 旁边的一个解决方案,用于搜索变量标题。但还要检查 UIMap 中控件的 controlID。它可以根据屏幕上打开的窗口而改变。 我将它们全部删除,除非我 100% 确定它们保持不变。

    【讨论】:

    • 是的,删除 controlID 可能有助于在某些情况下更快地运行播放。但我曾经为一些动态控件添加SearchConfiguration.AlwaysSearch 属性。当我为像窗口这样的上层控件添加这个属性时,它会自动减慢播放速度,因为它每次使用窗口的子控件时都需要从头开始搜索。
    【解决方案3】:

    我在网上搜索后发现,由于最新版本,主窗口的类名发生了变化。我已经检查了最新的主窗口名称,并按照以下链接Mathew Aniyan's Blog

    中的说明将其添加到 UIMap 构造函数中

    【讨论】:

      猜你喜欢
      • 2023-03-08
      • 2015-12-27
      • 2019-01-15
      • 1970-01-01
      • 2017-04-10
      • 2015-12-22
      • 1970-01-01
      • 2017-11-04
      • 2012-05-16
      相关资源
      最近更新 更多