QTP的随机数问题
我们目前所用的随机数其实都是伪随机
由于我们所用的电子计算机基于冯诺依曼理论的
必须是按“规律”来运作
可是随机不就是“不规律”么?
于是就有了根据随机种子产生“伪随机”的方法
随机种子是一定的不重复序列(用时间戳就是很好的)
再经过“规律”的算法处理产生“不同”的结果,就可以得到“假装”的随机数(按照“规律”去“不同”)
为什么要说这个呢
因为QTP是运行在电子计算机上的,也自然无法突破上述限制了
所以QTP所用的随机种子就是影响产生的随机数的重要根源了
从我的试验得知:
可以肯定的结论是QTP所用的随机种子中一定包含使用的轮次和时间戳
当同一轮次使用(比如反复多次运行,但都只运行一次,也就等于都是第一次)以及时间相近(比如在1~2分钟之内)
得到的随机数可能是一样的。
所以没什么特别好的解决办法,其实也不需要解决:只要让脚本跑起来,它的随机数就是“随机”的了
开篇所说的现象,大家可以自己试验一下:
写一个脚本,就只有一个用RandomNumber的随机数相关的操作(找个地方显示一下随机数,比如msgbox)
点一下run,运行一次,记下随机数
马上再点一下run,再运行一次,记下随机数
一定可以发现,要么两次的随机数是一样的,要么就是刚好+1