williamlam 发表于 2015-6-4 11:04:50

怎么从参数化文件中随机获取参数

本帖最后由 williamlam 于 2015-6-4 13:49 编辑

例如:录制一个登陆的操作,文件中内容有以下用户名和密码:

user1,pwd1
user2,pwd2
user3,pwd3
user4,pwd4
user5,pwd5

一般使用CSV Data Set Config设置参数都是按照顺序读取的,怎么样设置才能从文件中随机获取而不是顺序获取呢?
可能有些人会说用函数助手里面的_Random,我也不懂用法,请高手指教,最好要有详细的步骤,拜谢!

jingzizx 发表于 2015-6-5 10:11:51

人家高手写的程序,思路如下,把参数放到一个excel中,随即读取参数

'========================================
'名   称:QTP_ReadExcel
'作   用:从Excel读数据
'参   数:sFileName:EXCEL文件名   sSheetName:Sheet表名
'返回值:把EXCEL变为2维数组返回
'========================================
Function QTP_ReadExcel(sFileName,sSheetName)
       Dim oExcel
       Dim oSheet
       Dim oRange
       Dim arrRange

       On Error Resume Next
      ' 创建Excel应用程序对象
       SetoExcel = CreateObject("Excel.Application")
            If err.Number <> 0 Then
                     MsgBox "未能初始化Excel" & vbCrLf & "请确保Excel已安装", vbCritical
                     Exit Function
            End If
       On Error GoTo 0

       On Error Resume Next
      ' 打开Excel文件
       oExcel.Workbooks.Open(sFileName)
      If err.Number <> 0 Then
               MsgBox "未能加载Excel文件" & vbCrLf & "请确保Excel文件路径正确或格式正确", vbCritical
               Exit Function
      End If
       On Error GoTo 0

       ' 获取表格的使用范围
       SetoSheet = oExcel.Worksheets(sSheetName).UsedRange
      ' 获取从A列到Z列,从第1行到第1000行的范围i中的所有值
       SetoRange = oSheet.Range("A1:Z1000")
      '把Excel数据转换到数组
       arrRange = oRange.Value
      ' 关闭工作簿
       oExcel.WorkBooks.Item(1).Close

       ' 退出Excel
       oExcel.Quit
       SetoExcel = Nothing
       ' 返回包含Excel数据的数组
       QTP_ReadExcel = arrRange
End Function

Dim arrExcel
arrExcel= QTP_ReadExcel("D:\test.xls","sheet1")
Dim randcs
randcs=RandomNumber(0,1000)
Dim user
Dim pwd
user=arrExcel(randcs,1)
pwd=arrExcel(randcs,2)

williamlam 发表于 2015-6-5 10:33:33

完全不懂这个怎么在jmeter中实现

jingzizx 发表于 2015-6-5 11:28:27

不好意思,给你写错了,以为是在QTP中的了.
Jmeter中调用参数的函数就那几个,random, csvread,stringformfile,这几个函数读取数据都是按照列取参数,而且好像都是顺序读取的.
如果你的用户名都是user开头,密码都是pwd开始,可以这样:
最好自己定义一个变量suiji值为${__Random(0,1000,)}
使用时直接user${suiji},pwd${suiji}


user

williamlam 发表于 2015-6-5 13:54:54

jingzizx 发表于 2015-6-5 11:28
不好意思,给你写错了,以为是在QTP中的了.
Jmeter中调用参数的函数就那几个,random, csvread,stringformfil ...

虽然没能实现预期的,也不知道jmeter能不能实现我所想的,但还是谢谢你,让我知道还能这么用。
页: [1]
查看完整版本: 怎么从参数化文件中随机获取参数