首页 > 编程语言 >【自动化测试】利用python,简单的生成接口测试中需要的随机参数

【自动化测试】利用python,简单的生成接口测试中需要的随机参数

时间:2023-08-09 15:32:24浏览次数:38  
标签:string 示例 python random 汉字 接口 测试 字符串 随机

很多测试小伙伴在编写接口测试用例的时候,经常遇到有些传参的定义大致如下所示:

【自动化测试】利用python,简单的生成接口测试中需要的随机参数_Python

我们在针对这种参数的基本接口用例中,很可能定义一些写死的参数,比如:

{

   "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

相关文章

  • python爬虫获取script标签中的var变量值
    遇到问题:资料调研过程中遇到js动态生成页面(在检查中可以看到需要爬取的数据,但是查看网页源代码中都是js动态生成,跟检查中的代码不一致),通过xpath在html中获取不到需要的数据,真正的数据在 所需要的数据为script中的varindData,数据类型为包含有许多dict的list解决办法:可以通......
  • python正则表达式的基本语法
    Python是一种广泛使用的高级编程语言,拥有丰富的库和工具,使得内容提取变得更加简单和高效。其中,正则表达式是一种非常重要的工具,Python提供了re模块来使用正则表达式进行内容提取。本文将为您介绍如何使用Python正则表达式进行内容提取的具体步骤。一、了解正则表达式的基本语法......
  • 接口防腐层
    网上也看到一些防腐层的优秀文章,在实际的开发项目中,不可避免的,我们也使用到了防腐层,对防腐层,简单总结一下:1.防腐层的意义是什么?防腐层隔离上游的功能,防腐层通过已有接口和外部系统交互,在内部做己方和他方模型的转换。简单来说,防腐层一般为了隔离两个系统之间的变化,防止一个系......
  • 查看python某些包中的方法介绍
    下面是关于如何查看Python函数参数的攻略。具体步骤如下:步骤1:查看函数文档首先,我们可以查看函数的文档来了解其参数。Python在函数内置文档中提供了对函数参数的详细描述。可以在交互式解释器中使用help()函数来查看函数文档,也可以使用__doc__属性来打印函数文档。同......
  • Python 爬虫实战:驾驭数据洪流,揭秘网页深处
    前言随着互联网的发展,数据变得越来越重要,爬虫技术也越来越受到人们的关注。爬虫技术可以帮助我们自动化地抓取网络数据,从而提高数据的利用价值。但是,在爬虫过程中,很容易被目标网站识别出来,甚至被封禁。所以,使用代理IP是非常重要的一步。本篇文章将介绍如何使用Python编写爬虫,并使......
  • PHP写一个 Api接口需要注意哪些?考虑哪些?
    随着互联网的飞速发展,前后端分离的开发模式越来越流行。编写一个稳定、可靠和易于使用的API接口是现代互联网应用程序的关键。本文将介绍在使用thinkphp6框架开发API接口时需要注意的要点和考虑的问题,并提供详细的逻辑步骤和代码案例。1.设计请求与响应数据结构在开始编......
  • 测试主页
    <!--run--><style>#mainContent,body{background:#f1f1f1;}.forFlow{max-9999px!important;}.app-title{margin:0auto;text-align:center;font-family:'PingFangSC','HelveticaNeue',&#......
  • python 文件夹遍历三种方法
    os.listdir(path),返回path目录下的文件夹和文件,但不包含子文件夹里的文件夹和文件递归遍历所有文件importosdefrecursive_listdir(path):files=os.listdir(path)forfileinfiles:file_path=os.path.join(path,file)ifos.path.isfile......
  • 如何用PHP写接口
    当用PHP编写API接口时,可以使用PHP中的框架(如Laravel、Symfony、CodeIgniter等)来简化开发过程。接下来,以使用Laravel框架为例,提供一个简单的示例代码:首先,确保已经安装了Laravel框架,并在命令行中进入项目目录,执行以下命令创建一个新的API控制器和路由:phpartisanmake:controller......
  • Mac输入 python 打开 python3
    往.bash_profile加入此配置echo'aliaspython="python3"'>>.bash_profile调用source~/.bash_profile生效配置打开open.zshrc添加source~/.bash_profile调用source~/.bash_profile生效配置......