发布新日志

  • QTP的一些小知识

    xiaonan 发布于 2006-12-01 09:16:06

    1.GetCellData函数 

      作用:获取单元格的值

      例:  rowCount = Browser("xxx ").Page("xxx ").Frame("xxx").WebTable("xxx").RowCount
    For counter = 1 To rowCount
      text = Browser("xxx").Page("xxx").Frame("xxx").WebTable("xxx").GetCellData(counter,1)
      If (text = "xxx") Then
        counter = counter - 1
        selectNO = "#" & counter
        Browser("xxx").Page("xxx").Frame("xxx").WebRadioGroup("xxx").Select selectNO
        Exit For
      End If
    Next

    2.把值插入datatable里

      例:   datatable.setcurrentrow(i)
            datatable.value("name","Global")="name"
            datatable.value("passwd","Global")="passwd"

    3.用代码来启动浏览器

      Browser1 = "IE"
      StartURL = "www.51testing.com"
      IF Browser1 = "IE" THEN
         set IE = CreateObject("InternetExplorer.Application")
         IE.Visible = true
         IE.Navigate StartURL
      END IF
     

    4.ExecuteFile函数

      作用:ExecuteFile 可以直接执行vbs文件,而不需要将其导入resource中 
           ExecuteFile FileName 
      说明:where FileName is the absolute or relative path of your VBscrīpt file.

      例:ExecuteFile("F:\test.vbs")

    5.Strcomp函数 

      作用:比较文本

      例:dim strtext1,strtext2,str ,str1,comp1
         strtext1 = "xxx"
         strtext2 = "xxx"
         str = VbWindow("xxx").VbWindow("xxx").VbLabe1("xxx").GetTOProperty("text")
         str1= VbWindow("xxx").VbWindow("xxx").VbLabel("xxx").GetTOProperty("text")
         comp1=strcomp(strtext1,str,0)
         If  comp=0 Then
              msgbox “这两个串相等”
         else
           msgbox str
         End If 

    6.CaptureBitmap 

      作用:捕获屏幕

    7. GetROProperty

      作用:取对象属性值

      例:VbWindow("xxx").VbWindow("xxx").VbWindow("xxx").ActiveX("xxx").GetROProperty("TextMatrix(1,0)") 

    8.ExitAction - 退出当前操作,无论其循环属性如何。
      ExitActionIteration - 退出操作的当前循环。
      ExitRun - 退出测试,无论其循环属性如何。
      ExitGlobalIteration - 退出当前全局循环。


    9.如何使用Excel对象处理数据?
      Dim xl
      打开excel文件
      Function OpenExcelFile(strFilePath)
      Set xl = CreateObject("Excel.Application")
      xl.Workbooks.Open strFilePath
      End Function
      获得指定单元格数据
      Function GetCellData(strSheet,rwIndex,colIndex)
      GetCellData = xl.WorkSheets(strSheet).Cells(rwIndex,colIndex)
      End Function
      填充单元格数据
      Function PutCellData(strSheet,rwIndex,colIndex,varData)
      xl.WorkSheets(strSheet).Cells(rwIndex,colIndex) = varData
      End Function
      保存并推出
      Function SaveAndQuit()
      xl.Activeworkbook.save
      xl.Quit
      Set xl = nothing
      End Function

    10.连接sql数据库

      例:Dim res,cmd,sql
         Set Res=createobject("adodb.recordset")
         Set Cmd=createobject("adodb.command")
         Cmd.activeconnection="Provider=SQLOLEDB.1;Password=111111;Persist Security Info=True;User ID=sa;Initial Catalog=xhq;Data Source=192.168.191.142"  '这句话是连接数据库的数据源,要做修改
        Cmd.CommandType = 1
        sql="selec t * from 表 where name=username"
        Cmd.CommandText = sql
        Set res = Cmd.Execute()
        Set res = nothing
        Set cmd.ActiveConnection = nothing
        Set Cmd= nothing

  • Loadrunner 参数化测试数据

    蓝宇伊人 发布于 2007-10-18 13:44:23

    参数化测试数据

    PS:本人在51testing和sina blog上的文章全部为原创,转载请注明出处!!

    制作参数化数据时,先了解参数化的一些知识:
    1、参数化就是用变量取代固定的输入值,以产生不同的输入值,从而获得不同的输出结果。
       例如:用户的登录测试,我们需要不同的用户名和密码才能模拟很多用户同时登录。因为不断的用一个用户登录,这个用户可能加入了服务器的缓存里,再次登录是从缓存里直接获取信息验证,造成测试效果失真;另外,有的系统也只允许同一个用户只能登录一次;这样的情况下,使用参数化就能搞定了。

     

    2、参数化的做法请参考lr的vgn帮助手册
       建议到论坛里下载lr8.1的vgn中文帮助手册

     

    3、参数值的引用方法
       参数值的引用分2种:一是直接引用,一个是使用lr_eval_string函数引用
       一、直接引用
           引用格式为:{参数名}
           一般在web_url、web_submit_data等函数体里使用,例如:
            lr_save_string("index.asp","url");
            lr_save_string("410","fid");
            lr_save_string("555","cid");
            web_url("{url}", 
               "URL=http://192.168.5.113/bbs/{url}?theurl=http_Colon_//192.168.5.113/bbs/post.asp?fid={fid}_And_cid={cid}", 
               "TargetFrame=", 
               "Resource=0", 
               "RecContentType=text/html", 
               "Referer=", 
               "Snapshot=t1.inf", 
               "Mode=HTML", 
               EXTRARES, 
               "Url=images/gslt.gif", "Referer=http://192.168.5.113/bbs/top.htm", ENDITEM, 
               LAST); 
           通常,使用lr的参数替换功能形成的参数,格式都是这个。

     

        二、lr_eval_string()
           这个引用通常是在赋值和打印等操作中,用来引用形参所对应的实际值。
           例如:lr_save_string("这是实际值!","values");
                 lr_message("实际值是:%s",lr_eval_string("{values}"));

     

    4、参数化策略和示例
       请参考:http://bbs.51testing.com/thread-78454-1-1.html

     

    5、参数化数据最大不能超过32000行
       这个是我有一次参数化大量数据时发现的,因为一旦参数化的数据超过这个数字,LR的vgn就会自动关闭,没有任何提示。
       后来通过实验,才发现32000行是个限制值,目前我也不知道怎么去修改这个值。
       而且,从数据库中查询值的时候,有个限制,这个限制也是不能超过32000!!
      
       另外,我有个猜想,LR从数据库中取值后,应该也是放到dat数据文件里再取值,其实是和直接从txt、dat文件里读一样。

     


    参数化数据的准备方法:
    1、用户名和密码
       用户名和密码是用参数化最多的测试输入,通常需要在DB中生成一定数量的记录,然后copy出来保存在文件里或者直接参数化都可以引用。


      
    2、当前时间和随机数
       当前时间请参考我的blog的文章:http://www.51testing.com/?6343
       随机数请参考ZEE的一篇文章:http://zeeslo.bokee.com/6177214.html

     

    3、通过关联获取
       请参考关联:http://zhidao.baidu.com/question/19338536.html

     

    4、通过相关函数获取
       可使用lr_save_datetime、lr_save_string、lr_param_increment、lr_save_int、lr_save_searched_string、lr_save_var等函数将对应的值保存为参数  
       具体请参考LR的函数手册。

Open Toolbar