QTP - 脚本相关收集

1)生产随机数列

    第一种方法
    randomize'更新反回的数据
    funcation rand(k,n)
    n="int((k-1)*rnd+1) rand=n
    end funcation
    
    第二种方法
    n="randomnumber.value(1,255)
    

2)wintreeview一些操作


    选择一个条目:wintreeview.select(item)'根是0
    根的名称:wintreeview.getitem(0)

3)QTP中用代码连接数据库


    Set Conn CreateObject("ADODB.Connection" )
    str="DRIVER=Oracle in OraHome92;SERVER=192.168.0.1;DBQ=testdb;user id=test; password=test"
    Conn.open str
    Set Rs CreateObject ("ADODB.Recordset" )
    sql "select from user_table where table_name 'XXX' "
    Rs.open sql,conn',1,3

4)QTP如何测试鼠标右键菜单


    以QTP附带的订票网站sample为例,edit控件username鼠标右键,点击paste(第4个菜单项)

    cur_replay_type Setting.WebPackage("ReplayType")
    'Run mouse operations using the mouse, if using browser events
    Setting.WebPackage("ReplayType")    
    Browser("Browser").Page("Welcome: Mercury Tours").WebEdit("userName").Click micRightBtn
    Setting.WebPackage("ReplayType") cur_replay_type
    
    index=4
    Set WshShell CreateObject("Wscrīpt.Shell")
    For To index
        WshShell.sendKeys "{DOWN}"
    Next
    WshShell.sendKeys "{ENTER}"
    Set WshShell nothing

5)QTP测试页面字体颜色的办法


    set ōbj Browser().Page().WebElement().Object
    Get the  object
    set iStyle= obj.currentstyle
    Get the attribute
    sColor iStyle.color

6)从QC自动启动qtp如何自动加载插件


    '此函数用于加载指定Test所有的插件,若要运行Test可自己加个qtApp.Test.Run
    Function Load_Addins(testPath)
            Dim qtApp 'As QuickTest.Application
            Dim blnNeedChangeAddins
            Dim arrTestAddins
            Set qtApp CreateObject("QuickTest.Application")
            arrTestAddins qtApp.GetAssociatedAddinsForTest(testPath)
            blnNeedChangeAddins False
            For Each testAddin In arrTestAddins
                    If qtApp.Addins(testAddin).Status <> "Active" Then
                        blnNeedChangeAddins True
                        Exit For
                    End If
            Next
      If qtApp.Launched And blnNeedChangeAddins Then
              qtApp.Quit
      End If
      If blnNeedChangeAddins Then
          Dim blnActivateOK
          blnActivateOK qtApp.SetActiveAddins(arrTestAddins, errorDescr&#299;ption)
          If Not blnActivateOK Then
                            Call ErrorLog(errorDescr&#299;ption)  '这里是调用自己的日志函数,可替换为自己的或注释掉
                            Wscr&#299;pt.Quit
          End If
      End If
      If Not qtApp.Launched Then
          qtApp.Launch
      End If
      qtApp.Visible True
      qtApp.Open testPath
            '可在此加入qtApp.Test.Run来运行Test
            Set qtApp Nothing
End Function

7)换行符


    vbcr----chr(13)回车符
    vblf----chr(10)换行符
    vbcrlf----chr(13)+chr(10)结合
    type(chr(13)就相当于按了一上键盘上的enter
    

8)防程序中断方法


    On error resume next
    On error goto 0

9)"is+*"类型function


    isarray    '是否是数组
    isconnected    '判断QTP是否连接到TD
    isdate    '是否是合法的日期类型
    isempty    '判断是否初始化
    isNull    '判断是否为空值
    isNumeric    '判断是否是数字型
    isobject    '判断是否一个功能对象
    isready    '判断设备是否准备就绪
    isRootFolder    '是否是根目录

10)WScript.Shell的一些应用


    set WshShell CreateObject("WScript.Shell")
    WshShell.SendKeys "{ENTER}"     '模拟键盘进行操作
    WshShell.AppActivate "Calculator"    '启动应用程序
    
    利用粘贴板,实现中文输入    
    strCopy "软件测试."
    Set objIE CreateObject("InternetExplorer.Application")
    objIE.Navigate("about:blank")
    objIE.document.parentwindow.clipboardData.SetData "text", strCopy
    objIE.Quit    
    wait 1
    Setting.WebPackage("ReplayType")=2
    Set obj=createobject("wscr&#299;pt.shell")
    obj.sendkeys "{TAB}"
    wait 2
    obj.sendkeys "^v"
    wait 1
    Setting.WebPackage( "ReplayType")=1


11)childobjects的应用


    childobject可以返回界面上满足条件的对象集合,而且与对象库里是否有这些对象无关,这就可以简化对象库;
    返回的对象集合的count方法可以返回对象个数,这就可以通过下标对单个对象进行操作;在出现index标识对象时
    可以进行运用.如:
    Find All WebEdit Objects on Web Page and Set Value for Specific One
    Sub ChildObjects_Example()
        Dim EditToSearch, ValueToSet, NumberOfEdits
        EditToSearch "credit_card_number"
        ValueToSet "3558986773230578"
        
        Set oDesc Description.Create()
            oDesc("micclass").Value "WebEdit"
            oDesc("name").Value "credit_card_number"
        
        Set EditCollection Browser("Book Flight: Mercury").Page("Book Flight: Mercury").ChildObjects(oDesc)
        NumberOfEdits EditCollection.Count
        
        For To NumberOfEdits 1
            If EditCollection(i).GetROProperty("name") EditToSearch Then
               EditCollection(i).Set ValueToSet
            End If
        Next
    
    End Sub

12)关闭所有IE


SystemUtil.CloseProcessByName("iexplore.exe")

13)启动IE的语句:SystemUtil.Run "iexplore.exe", "http://www.***.com"
   关闭IE或其他程序的语句:
   SystemUtil.CloseProcessByName "app.exe"
   SystemUtil.CloseProcessByWndTitle "Some Title"

14)引用自定义环境变量


    Environment.LoadFromFile "D:\询价\case\环境\huiyuan.xml"
    
15) 环境变量有2种,一种是QTP的内置变量,一种是用户自定义的变量。内置变量是可以直接就可以用,自定义环境变量需要在菜单中选择“文件”——>“ 设置”——>“环境”,在变量类型中选择“用户自定义”,然后进行添加,可以对添加的变量全部导出,导出的文件为.xml格式的文档。既然可以导出,那么必然可以导入.xml文件,你可以在该对话框中的选中“从外部文件导入”,然后添加其文件路径即可。(当然这些操作都可以直接使用脚本来实现,如:Environment.LoadFromFile(“FileName”))
    xml文件格式如下:
    <Environment>
            <Variable>                        // 变量定义起始标识
                    <Name>aa</Name>               // 变量名称
                    <Value>11</Value>             // 变量值
                    </Variable>                   // 变量定义结束标识
            <Variable>
                    <Name>bb</Name>
                    <Value>22</Value>
            </Variable>
    </Environment>
    使用的脚本
    Dim aParam3
    aParam3=Environment.Value(“aa”)          // 调用环境变量
    msgbox aParam3

16)弹出输入窗口


    Dim Input
    Input InputBox("Enter your name")
    MsgBox ("You entered: Input)

17)不同数据库检查点手动SQL写法


    QTP插入数据库检查点,手动指定SQL语句的写法。
    
    一、SQL Server格式(本地无需安装SQL Server)
    connectionstring(连接字符串):
    1.本地没有创建数据源的方式
    DRIVER=SQL Server;SERVER=数据库IP地址;UID=用户名;PWD=密码;APP=Microsoft Office 2003;WSID=本地主机名;DATABASE=数据库名
    实例:
    DRIVER=SQL Server;SERVER=10.160.11.10;UID=sa;PWD=sa;APP=Microsoft Office 2003;WSID=RJHLJUN;DATABASE=dcwork

    2.本地已创建数据源的方式
    DSN=数据源名称;UID=用户名;PWD=密码;APP=Microsoft Office 2003;WSID=数据库的主机名;DATABASE=数据库名
    实例:
    DSN=LocalServer;UID=sa;PWD=sa;APP=Microsoft Office 2003;WSID=RJDCWORKTEST;DATABASE=dcwork

    3.SQL语句实例(从数据库表HR_LANGUAGE_TYPE中,查询字段语言名称LANGUAGE_NAME,条件语言名称=中文,按语言名称升序排序结果)
    SELECT HR_LANGUAGE_TYPE.LANGUAGE_NAME FROM dcwork.dbo.HR_LANGUAGE_TYPE HR_LANGUAGE_TYPE WHERE (HR_LANGUAGE_TYPE.LANGUAGE_NAME='中文') ORDER BY HR_LANGUAGE_TYPE.LANGUAGE_NAME

    二、DB2格式:(本地至少安装DB2 Run-Time Client Lite)


    connectionstring(连接字符串):
    1.本地没有创建数据源的方式
    DRIVER={IBM DB2 ODBC DRIVER};UID=用户名;PWD=密码;MODE=SHARE;DBALIAS=数据库名;
    实例:
    DRIVER={IBM DB2 ODBC DRIVER};UID=db2admin;PWD=db2admin;MODE=SHARE;DBALIAS=DCWORK;
    
    2.本地已创建数据源的方式
    DSN=数据源名称;UID=用户名;PWD=密码;MODE=SHARE;DBALIAS=DCWORK;
    实例:
    DSN=DWCORKDB2;UID=db2admin;PWD=db2admin;MODE=SHARE;DBALIAS=DCWORK;
    
    3.SQL语句实例
    SELECT HR_LANGUAGE_TYPE.LANGUAGE_NAME FROM DB2ADMIN.HR_LANGUAGE_TYPE HR_LANGUAGE_TYPE WHERE (HR_LANGUAGE_TYPE.LANGUAGE_NAME='中文') ORDER BY HR_LANGUAGE_TYPE.LANGUAGE_NAME

    三、Oracle格式:(本地需要安装Oracle ODBC DRIVER)


    connectionstring(连接字符串):
    1.本地没有创建数据源的方式
    DRIVER={Oracle in OraHome92};SERVER=数据库服务名;UID=用户名;PWD=密码;DBQ=数据库名;DBA=W;APA=T;EXC=F; XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=Lo;BAM=IfAllSuccessful;MTS=F;MDI=Me;CSR=F;FWC=F;PFC=10;TLO=O;
    实例:
    DRIVER={Oracle in OraHome92};SERVER=DCWORK;UID=DCWORK;PWD=DCWORK;DBQ=DCWORK;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=Lo;BAM=IfAllSuccessful;MTS=F;MDI=Me;CSR=F;FWC=F;PFC=10;TLO=O;
    
    2.本地已创建数据源的方式
    DSN= 数据源名称;UID=用户名;PWD=密码;DBQ=数据库名;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10; FDL=10;LOB=T;RST=T;GDE=F;FRL=F;BAM=IfAllSuccessful;MTS=F;MDI=F;CSR=F;FWC=F;PFC=10;TLO=0;
    实例:
    DSN=dcworkoracle;UID=DCWORK;DBQ=DCWORK;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=F;BAM=IfAllSuccessful;MTS=F;MDI=F;CSR=F;FWC=F;PFC=10;TLO=0;
    
    3.SQL语句实例
    SELECT HR_LANGUAGE_TYPE.LANGUAGE_NAME FROM DCWORK.HR_LANGUAGE_TYPE HR_LANGUAGE_TYPE WHERE (HR_LANGUAGE_TYPE.LANGUAGE_NAME='中文') ORDER BY HR_LANGUAGE_TYPE.LANGUAGE_NAME

    四, mysql
    Set Conn CreateObject("ADODB.Connection" )
    str="DRIVER={MySQL ODBC 3.51 Driver};SERVER=192.168.1.100;DATABASE=wp_blog;user id=zzz password=123456"
    Conn.open str
    Set Rs CreateObject ("ADODB.Recordset" )
    sql "select from `wp_blog`.`blg_webcategory` limit 0, 5000;"
    Rs.open sql,conn,1,3
    If (not Rs.eof) then
    Rs.MoveFirst
    MsgBox Rs(0)
    MsgBox Rs(1)
    MsgBox Rs(2)
    MsgBox Rs(3)
    end if
    
    Rs.close
    Set Rs Nothing
    Conn.close
    Set Conn Nothing
    
    五. access
    
    Set Conn CreateObject("ADODB.Connection" )
    str="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/db1.mdb"
    Conn.open str
   
 Set Rs 
CreateObject("ADODB.Recordset")

内容概要:本文深入探讨了Kotlin语言在函数式编程和跨平台开发方面的特性和优势,结合详细的代码案例,展示了Kotlin的核心技巧和应用场景。文章首先介绍了高阶函数和Lambda表达式的使用,解释了它们如何简化集合操作和回调函数处理。接着,详细讲解了Kotlin Multiplatform(KMP)的实现方式,包括共享模块的创建和平台特定模块的配置,展示了如何通过共享业务逻辑代码提高开发效率。最后,文章总结了Kotlin在Android开发、跨平台移动开发、后端开发和Web开发中的应用场景,并展望了其未来发展趋势,指出Kotlin将继续在函数式编程和跨平台开发领域不断完善和发展。; 适合人群:对函数式编程和跨平台开发感兴趣的开发者,尤其是有一定编程基础的Kotlin初学者和中级开发者。; 使用场景及目标:①理解Kotlin中高阶函数和Lambda表达式的使用方法及其在实际开发中的应用场景;②掌握Kotlin Multiplatform的实现方式,能够在多个平台上共享业务逻辑代码,提高开发效率;③了解Kotlin在不同开发领域的应用场景,为选择合适的技术栈提供参考。; 其他说明:本文不仅提供了理论知识,还结合了大量代码案例,帮助读者更好地理解和实践Kotlin的函数式编程特性和跨平台开发能力。建议读者在学习过程中动手实践代码案例,以加深理解和掌握。
内容概要:本文深入探讨了利用历史速度命令(HVC)增强仿射编队机动控制性能的方法。论文提出了HVC在仿射编队控制中的潜在价值,通过全面评估HVC对系统的影响,提出了易于测试的稳定性条件,并给出了延迟参数与跟踪误差关系的显式不等式。研究为两轮差动机器人(TWDRs)群提供了系统的协调编队机动控制方案,并通过9台TWDRs的仿真和实验验证了稳定性和综合性能改进。此外,文中还提供了详细的Python代码实现,涵盖仿射编队控制类、HVC增强、稳定性条件检查以及仿真实验。代码不仅实现了论文的核心思想,还扩展了邻居历史信息利用、动态拓扑优化和自适应控制等性能提升策略,更全面地反映了群体智能协作和性能优化思想。 适用人群:具备一定编程基础,对群体智能、机器人编队控制、时滞系统稳定性分析感兴趣的科研人员和工程师。 使用场景及目标:①理解HVC在仿射编队控制中的应用及其对系统性能的提升;②掌握仿射编队控制的具体实现方法,包括控制器设计、稳定性分析和仿真实验;③学习如何通过引入历史信息(如HVC)来优化群体智能系统的性能;④探索中性型时滞系统的稳定性条件及其在实际系统中的应用。 其他说明:此资源不仅提供了理论分析,还包括完整的Python代码实现,帮助读者从理论到实践全面掌握仿射编队控制技术。代码结构清晰,涵盖了从初始化配置、控制律设计到性能评估的各个环节,并提供了丰富的可视化工具,便于理解和分析系统性能。通过阅读和实践,读者可以深入了解HVC增强仿射编队控制的工作原理及其实际应用效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值