51Testing软件测试论坛

标题: QTP 取值特殊方式,求高手解答下,谢谢! [打印本页]

作者: cloudwindkid    时间: 2011-5-16 18:33
标题: QTP 取值特殊方式,求高手解答下,谢谢!
我现在要取一个值,放在文档中
例,,,全数字5位,全数字10位,全英文3位,,  逗号为分隔符
11111,12345677890,abc,,,,,,,,,这种形式的,请问有没有好办法。。。
菜鸟跪求
作者: iQuickTest    时间: 2011-5-16 20:50
压根没看懂你在说什么....要取随机字符串?
作者: lyscser    时间: 2011-5-16 22:37
不明白,如果是随机数的话,可以参考类似的方法进行……

  1. '**********************************************************
  2. '设计说明: 根据日期、时间和两组随机数生成相对较为唯一的字符串,常用于文件的非覆盖保存
  3. '程序输入:
  4. ' 1. circleNumber -- 循环次数
  5. '程序输出: 日期、时间、随机数、随机数的拼接字符串如:20110107_161003_93778_47149
  6. '设计人员: 刘毅(LIUYI)
  7. '设计时间: 2011-01-07
  8. '调用举例: Printer GenerateUniqueStr("30")
  9. '**********************************************************

  10. Public Function GenerateUniqueStr(circleNumber)
  11. If Trim(circleNumber) = "" Then
  12. circleNumber = randomnumber.Value(20,50)
  13. Else
  14. If circleNumber < 11 Then
  15. circleNumber = circleNumber + 20
  16. End If
  17. End If

  18. randomNo = randomnumber.Value(10,Abs(circleNumber))
  19. For i = 1 to randomNo
  20. randomNum1 = randomnumber.Value(10000,99999)
  21. randomNum2 = Int((99999-10000+1)*rnd+10000)
  22. Next

  23. GenerateUniqueStr = FormatDate(Now,"yyyymmdd_hh24miss")&"_"&randomNum1&"_"&randomNum2
  24. End Function

  25. '**********************************************************
  26. '调用举例: 生成指定长度的随机字符串,不含特殊字符
  27. '程序输入:
  28. ' 1. appointedLen - 需要的字符串长度
  29. '程序输出: String类型,指定长度的随机数
  30. '设计人员: 刘毅(LIUYI)
  31. '设计时间: 2011-01-04
  32. '调用举例: msgbox GenSpeLenRandStr(10)
  33. '**********************************************************

  34. Function GenSpeLenRandStr(appointedLen)
  35. Dim elements1:elements1 = "1,2,3,4,5,6,7,8,9,0"
  36. Dim elements2:elements2 = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"
  37. Dim elements3:elements3 = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z"
  38. Dim eleArray:eleArray = Split(elements1 & elements2 & elements3 , ",")

  39. If IsNumeric(appointedLen) And Abs(appointedLen) > 0 Then
  40. For i = 1 To appointedLen
  41. Randomize
  42. randNum = RandomNumber.Value(0,61)
  43. tmpStr = tmpStr + eleArray(randNum)
  44. Next
  45. Else
  46. tmpStr = "必须输入大于零的整型数字!"
  47. End If

  48. GenSpeLenRandStr = tmpStr
  49. End Function
复制代码

作者: fly_away    时间: 2011-5-17 09:31
搞毛啊,这些提问题的人总喜欢把问题描述得极其抽象。版主你们就不能规范一下提问的格式么?知道XML文件为什么是通用的么?
解决这些抽象的问题,只会浪费大家的时间。别把51testing论坛搞得跟百度贴吧一样。充斥着没半点含量的贴子。

根据本人的猜想,楼主貌似是想在一堆 ,,,,,,,,,,,中取指定位置的几个字符串。
这个可以一次性把内容读进内存,然后用split方法截取,保存进数组里面,然后用数组下标去找就行了。
作者: lyscser    时间: 2011-5-17 11:02
搞毛啊,这些提问题的人总喜欢把问题描述得极其抽象。版主你们就不能规范一下提问的格式么?知道XML文件为什 ...
fly_away 发表于 2011-5-17 09:31



你理解力比我好
作者: 17800455    时间: 2011-5-17 11:36
你的意思是想从这个字符串中取一个吗?
如果是:

  1. srt = "11111,12345677890,abc"
  2. TmpArry = split(str,",",-1,1)'以逗号进行分割
  3. for i = lbound(TmpArry ) to ubound(TmpArry)
  4.    msgbox TmpArry (i)'//这值取到了,你是想随机还是怎么样都可以了。
  5. next

复制代码

作者: iQuickTest    时间: 2011-5-17 22:35
呵呵,提问者的往往不会去看那些所谓的规范,这些还是取决于提问者本身的表达能力。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2