中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

TestComplete中執行腳本時控件值未同步刷新問題

發布時間:2020-05-30 22:59:39 來源:網絡 閱讀:2713 作者:孤月2012 欄目:軟件技術

今天寫了一個程序安裝的自動化腳本,調試的時候發現有些控件的值獲取后一直未自動刷新,鑒于該問題,仔細分析和請教后,發現TestComplete不會自動刷新控件中變化的值,這需要我們自己去控制刷新。

1、定義一個延遲函數(參數:延遲秒數,執行延遲的條件)

Function TimeDelay(DelaySeconds,condition)
    Dim interval,startTime
    startTime=Time
    Do While CBool(condition)
        sleep(DelaySeconds*1000)
        interval=Second(Time - startTime)
        If interval =40 Then
            Log.Error("Time Out.")
            Exit Do
        End If   
    Loop
End Function

 

2、Namemapping 一個顯示進度的控件(控件的value:0%-100%):

Set InstallProgress = Aliases.SQLNav.frmSQLNavWizard.panelMain.panelFrameHolder.SelectProduct.pnlNewProducts.pnlRightInstallProgress.labelInstallProgress

 

3、在腳本中調用函數:

Call TimeDelay(2,InstallProgress.Caption<>"100%")

發現會一直延遲,直到超過指定間隔Time Out,原因就是最上面分析的,控件InstallProgress.Caption的值沒有動態刷新,獲取的是調用時的值,后面一直未改變。

 

4、修改腳本:

對于具有動態值的控件,使用上面的延遲函數顯然不合適,對于具有動態值的控件下的延遲處理,可單獨寫一段腳本處理,使用TestComplete自帶的方法RefreshMappingInfo()只刷新該控件 :

    Dim beginTime
    beginTime = time
    Do While InstallProgress.Caption<>"100%"
        sleep(2000)
        InstallProgress.RefreshMappingInfo 
        If Second(time - beginTime) =40 Then
            Log.Error("Time Out.")
            Exit Do
        End If   
    Loop

或者是在函數中加入sys.refresh()刷新整個程序,不過不建議使用這種,整個刷新很耗性能的。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁津县| 富锦市| 方城县| 格尔木市| 缙云县| 桂林市| 锡林浩特市| 土默特左旗| 古交市| 建德市| 长治市| 永仁县| 苏尼特右旗| 久治县| 滨州市| 南投县| 万年县| 江达县| 湘阴县| 都匀市| 呼玛县| 连城县| 兖州市| 怀来县| 讷河市| 广丰县| 长岛县| 泰州市| 龙游县| 阿尔山市| 利辛县| 舒城县| 苏尼特右旗| 闵行区| 清远市| 博爱县| 汪清县| 布尔津县| 海丰县| 苏尼特左旗| 衡水市|