首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编码的UI测试需要2-3分钟才能通过

编码的UI测试需要2-3分钟才能通过
EN

Stack Overflow用户
提问于 2013-10-10 03:25:33
回答 2查看 344关注 0票数 0

因此,我正在使用编码的UI来运行一些自动化测试,其中一个测试需要非常长的时间才能完成。

我使用了断点,并发现在底部代码块中的End Get之后,几分钟内什么都没有发生,然后Assert.AreEqual完成,测试通过。

我试着改变了一些播放设置,但什么也没改变。有没有人知道发生了什么,以及我如何修复它?

-The第一段代码是由测试调用的生成的Assert方法

-The在Assert参数中调用第二个代码块

代码语言:javascript
复制
    '''<summary>
    '''assert_clicked_columnhead_requestor - Use 'assert_clicked_columnhead_requestorExpectedValues' to pass parameters into this method.
    '''</summary>
    Public Sub assert_clicked_columnhead_requestor()
        Dim uINameCell As HtmlCell = Me.UIAppWindow1.UIAppDocument.UIX978532666mkrdataTblTable1.UINameCell

        'Verify that 'Name' cell's property 'InnerText' equals 'Name'
        Assert.AreEqual(Me.assert_clicked_columnhead_requestorExpectedValues.UINameCellInnerText, uINameCell.InnerText)
    End Sub


    Public Overridable ReadOnly Property assert_clicked_columnhead_requestorExpectedValues() As assert_clicked_columnhead_requestorExpectedValues
        Get
            If (Me.massert_clicked_columnhead_requestorExpectedValues Is Nothing) Then
                Me.massert_clicked_columnhead_requestorExpectedValues = New assert_clicked_columnhead_requestorExpectedValues()
            End If
            Return Me.massert_clicked_columnhead_requestorExpectedValues 'PROBLEM HERE
        End Get
    End Property

按要求

代码语言:javascript
复制
    '''<summary>
    '''click_columnhead_requestor
    '''</summary>
    Public Sub click_columnhead_requestor()
        Dim uIRequestorCell As HtmlHeaderCell = Me.UIAppWindow1.UIAppDocument.UIRequestorCell

        'Click 'Requestor' cell
        Mouse.Click(uIRequestorCell, New Point(51, 23))
    End Sub

    Public ReadOnly Property UIAppWindow1() As UIAppWindow1
        Get
            If (Me.mUIAppWindow1 Is Nothing) Then
                Me.mUIAppWindow1 = New UIAppWindow1()
            End If
            Return Me.mUIAppWindow1
        End Get
    End Property

    Public ReadOnly Property UIX978532666mkrdataTblTable1() As UIX978532666mkrdataTblTable1
        Get
            If (Me.mUIX978532666mkrdataTblTable1 Is Nothing) Then
                Me.mUIX978532666mkrdataTblTable1 = New UIX978532666mkrdataTblTable1(Me)
            End If
            Return Me.mUIX978532666mkrdataTblTable1
        End Get
    End Property
EN

回答 2

Stack Overflow用户

发布于 2013-10-11 03:39:36

Coded UI会精确地搜索搜索和过滤器属性中给出的内容,运行速度非常快。然而,如果搜索失败,那么编码的UI会进行智能匹配,试图找到类似的东西,这可能需要很长时间。这是必要的,因为标题等在不同的运行中可能会有一些变化。更改测试以避免需要智能匹配可以极大地提高搜索速度。一般的方法是将搜索从相等修改为包含,并删除字符串中更改的部分。微软博客对此进行了更详细的解释,请参阅http://blogs.msdn.com/b/dave_froslie/archive/2012/08/10/why-do-my-coded-ui-tests-pause-during-playback.aspx

票数 0
EN

Stack Overflow用户

发布于 2014-01-22 23:57:18

?您是否尝试过更改..的值

Playback.PlaybackSettings.SearchTimeout = miliseconds;

msdn playbacksettings.searchtimeout

祝你好运,告诉我们一些事情

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19280845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档