接口自动化内置功能应用 - 随机产生数据

362 阅读2分钟

我报名参加金石计划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的范围内随机一个整数。 运行结果如图所示。

image.png

当然随机也不保证一定不重复,但重复的概率还是很小的,几乎可以忽略不计,所以可以放 心地使用随机函数来完成不同数据的生成。

除了随机手机号码,还可以随机指定的字段,比如性别的男女、学历等。 实例代码:

#-*-coding:utf8 1 import random

2 e=("小学","初中”,“高中”,“大学”) 

3 education =random.choice(e) 

4 print (education)

代码说明:

3从元组s之中随机选择任意一个元素。 运行结果如图所示。

image.png

通过这样随机选取特定元素也可以让测试数据更多,而不是重复用单一的数据作为测试数据, 从而让自动化测试更智能,而非机械化的重复测试,因此熟练运用 random 模块的各种函数,对 于自动化测试来说是非常有用的。