很多测试小伙伴在编写接口测试用例的时候,经常遇到有些传参的定义大致如下所示:
我们在针对这种参数的基本接口用例中,很可能定义一些写死的参数,比如:
{
"departName" : "一二三四五六七八九零一二三四五六七八九零一二三四五六七八九零一五",
"parentDepartId" : "1"
}
明显这种测试不能够覆盖参数范围,容易出现一些组合问题
现在一般的接口测试框架或者测试平台,基本都具备用例前置操作的功能,于是我们可以通过python脚本快速的实现动态随机能力,这样结合测试场景编排的多次随机测试,基本能够将用例上升一个档次。
在Python中生成一个包含数字、字母和下划线的随机字符串,长度在1到32位之间,可以使用random
模块和string
模块来实现。以下是一种实现方式:
import random
import string
def generate_random_string():
characters = string.ascii_letters + string.digits + '_' # 包含大小写字母、数字和下划线的字符集合
length = random.randint(1, 32) # 随机生成长度在1到32之间的数字
return ''.join(random.choice(characters) for _ in range(length)) # 从字符集合中选择指定长度的字符并拼接成字符串
# 示例用法
random_string = generate_random_string()
print(random_string)
这个示例中,generate_random_string()
函数使用random.choice()
函数从包含大小写字母、数字和下划线的字符集合中随机选择字符。然后使用列表推导式和''.join()
方法将随机选择的字符拼接成字符串。
运行示例代码将生成类似下面的输出:
91QH6w2e
每次运行都会生成一个不同的随机字符串,其长度在1到32之间,并且包含数字、字母和下划线。
纯中文示例:
要生成32位长度的随机中文字符串,可以使用random.choice()
函数从预定义的汉字列表中选择字符并拼接成字符串。以下是修改后的代码示例:
import random
def generate_random_chinese_string():
characters = ['我', '是', '一', '个', '随', '机', '中', '文', '字', '符'] # 预定义的汉字列表
length = 32 # 指定生成的字符串长度为32
return ''.join(random.choice(characters) for _ in range(length)) # 从汉字列表中选择指定长度的字符并拼接成字符串
# 示例用法
random_chinese_string = generate_random_chinese_string()
print(random_chinese_string)
在这个示例中,我们定义了一个包含预定义汉字的列表characters
,然后使用random.choice()
函数从中选择32个字符,并将它们拼接成一个字符串。
运行示例代码将输出类似以下结果的随机中文字符串:
中文我文字是字一文文我中是字一我一字我中中文文
每次运行结果都会不同,因为每次都是随机选择汉字来生成字符串。
我们也能不通过预定义汉字列表,达到随机汉字的效果:
使用Unicode编码范围内的汉字范围来生成随机汉字。在Unicode编码中,汉字的范围是从U+4E00到U+9FFF。你可以通过生成随机的Unicode码点,然后将其转换为对应的汉字。
下面是修改后的代码示例:
import random
def generate_random_chinese_string():
start = 0x4E00 # 汉字起始的Unicode码点
end = 0x9FFF # 汉字结束的Unicode码点
length = 32 # 指定生成的字符串长度为32
return ''.join(chr(random.randint(start, end)) for _ in range(length)) # 生成随机汉字并拼接成字符串
# 示例用法
random_chinese_string = generate_random_chinese_string()
print(random_chinese_string)
在这个示例中,我们使用了random.randint()
函数来生成一个指定范围内的随机Unicode码点,然后使用chr()
函数将其转换为对应的字符,并将这些随机生成的汉字拼接成一个字符串。
运行示例代码将输出类似以下结果的随机汉字字符串:
潡渹嫨
标签:string,示例,python,random,汉字,接口,测试,字符串,随机
From: https://blog.51cto.com/u_16212784/7021218