我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第25篇文章,点击查看活动详情
随机产生数据
内置的random 模块,顾名思义,是一个随机的模块,不要小看这个模块在自动化测试中的 作用,它能解决大部分测试数据重复的问题,可以说是自动化测试中需要导入的重要模块之一, 先看一下random模块所提供的一些常用函数方法。
random.random()
用于生成一个0到1的随机浮点数。
random.randint(a,b)
用于生成一个最小值是a,最大值是b区间的整数。
random.randrange(a,b,c)
用于生成一个最小值是a,最大值是b区间,并且指定递增为c的整数,比如要取一个100内 的双数,则可以写成random.randrange(0,100,2),即在范围[2,4,6...100]的列表中随机产生一个整数。
random.choice(a)
从集合a中获取一个随机元素,a可以是字符串、元组、列表。
这些都是random模块中常用的函数,接着就是如何运用到实际的自动化测试之中了。
注册需要用到手机号码,可以通过random.randint(a,b)来随机生成一个手机号,手机号的特征 有2个,即13开头并且是11位数字。
实例代码:
1 import random
2 mobile = random.randint(13000000000,13999999999)
3 print (mobile)
代码说明:
1 导入random随机模块。
2 在13000000000~13999999999的范围内随机一个整数。 运行结果如图所示。
当然随机也不保证一定不重复,但重复的概率还是很小的,几乎可以忽略不计,所以可以放 心地使用随机函数来完成不同数据的生成。
除了随机手机号码,还可以随机指定的字段,比如性别的男女、学历等。 实例代码:
#-*-coding:utf8 1 import random
2 e=("小学","初中”,“高中”,“大学”)
3 education =random.choice(e)
4 print (education)
代码说明:
3从元组s之中随机选择任意一个元素。 运行结果如图所示。
通过这样随机选取特定元素也可以让测试数据更多,而不是重复用单一的数据作为测试数据, 从而让自动化测试更智能,而非机械化的重复测试,因此熟练运用 random 模块的各种函数,对 于自动化测试来说是非常有用的。