91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

璧山县| 疏附县| 读书| 金川县| 鄂州市| 滦平县| 贺兰县| 枝江市| 彰化县| 甘南县| 瓦房店市| 都匀市| 宁都县| 嘉祥县| 浮梁县| 额尔古纳市| 关岭| 永城市| 科技| 东山县| 子洲县| 南丹县| 威海市| 栖霞市| 上栗县| 洛川县| 攀枝花市| 贵定县| 闻喜县| 九江市| 莱州市| 应城市| 祁阳县| 始兴县| 原阳县| 兰考县| 和林格尔县| 周口市| 千阳县| 永州市| 荆门市|