网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

TestComplete中执行脚本时控件值未同步刷新问题

今天写了一个程序安装的自动化脚本,调试的时候发现有些控件的值获取后一直未自动刷新,鉴于该问题,仔细分析和请教后,发现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()刷新整个程序,不过不建议使用这种,整个刷新很耗性能的。


网站标题:TestComplete中执行脚本时控件值未同步刷新问题
地址分享:http://bjjierui.cn/article/godpgs.html

其他资讯