目录
1、概念理解
random模块实现了各种分布的伪随机数生成器。在应用时,需要先导入random函数。
2、Random.randint()随机生成
随机生成固定长度的字符串
from random import Random
def generate_strings(random_length):
"""
随机生成大小写字母和数字的固定长度字符串
"""
s = ''
chars = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789'
length = len(chars) - 1
random = Random()
for i in range(random_length):
s += chars[random.randint(0, length)]
return s
print(generate_strings(8)) # 随机生成8位长度的字符串
随机生成姓名
from random import Random
def generate_name(name_len):
"""
随机生成姓名
“姓”随机取一个+“名字”随机取name_len长度
"""
str1 = '赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍'
str2 = '鸿煊玥静信广奕璟强博彬贤维元玮嘉林枫杰超映卿超佳'
na = ''
length = len(str2) - 1
random = Random()
for i in range(1):
name = str1[random.randint(0,len(str1)-1)]
for j in range(name_len):
na += str2[random.randint(0, length)]
name = name + na
return name
print(generate_name(2))
3、Random.shuffle() 随机排序
shuffle(list) 方法将序列的所有元素随机排序。参数是list类型。
import random
def test_shuffle():
lis = [20, 6, 50, 3]
random.shuffle(list)
print("随机排序列表 : ", lis)
random.shuffle(list)
print("随机排序列表 : ", lis)
test_shuffle()
输出结果(每执行一次,都会随机排序):
4、random模块方法
如下图,在实际的应用中,random模块还提供了很多方法,想要深入学习可以查看python学习文档 。
5、实际应用场景
在自动化测试中,random模块可以用于以下场景:
-
生成随机测试数据:在自动化测试中,需要模拟各种情况和数据,使用random模块可以生成随机的数据,如随机生成字符串、数字、日期等,用于测试各种输入和边界条件。
-
随机化测试执行顺序:有时候测试用例的执行顺序对测试结果会产生影响,使用random模块可以随机化测试用例的执行顺序,以找出测试用例之间的依赖问题,提高测试的覆盖率。
-
随机化输入数据:在自动化测试中,需要模拟用户的输入数据,通过使用random模块生成随机的输入数据,可以测试系统对各种输入的处理情况,包括正常输入、异常输入等。
-
随机化测试用例参数:有些测试用例可能有多个参数,使用random模块可以随机生成测试用例的参数,以验证系统在不同参数组合下的行为和性能。
-
随机化测试结果验证:有时候测试结果可能有多个可能的值,使用random模块可以在一定范围内随机选择一个结果进行验证,以增加测试的可靠性。
总而言之,random模块在自动化测试中可以用于生成随机测试数据、随机化测试执行顺序、随机化输入数据、随机化测试用例参数和验证测试结果。这些应用场景可以帮助测试人员更全面、有效地进行自动化测试,提高测试质量和效率。