1.前言:

在测试中经常有需要用到参数化,我们可以用random模块,faker模块生成测试数据,也可以用到pymysql,此文主要针对random模块生成任意个数的随机整数,随机字符串,随机手机号,封装成了方法,个人做一个总结,方便以后使用。个人推荐用faker模块,生成数据及其方便,后续更新faker模块

2.基本使用:

#函数介绍:
#(0,1):random.random() --不要传参数,小数
#[a,b]:random.randint(a,b) --整数
#[a,b):random.randrange(a,b) --整数
#(a,b):random.uniform(a,b)
#单例集合随机选择1个:random.choice(item)
#单例集合随机选择n个:random.sample(item,n)
#洗牌单列集合:random.shuffle(item) #基本举例
import random
print(random.uniform(0,20))
print(random.choice([11,3,-1,56,15,34]))
print(random.sample([11,3,-1,56,15,34],3))

3.实际应用:

3.1 生成任意个数的随机整数

import random

# 生成随机数字
def get_random_int(min,max,count):
'''
:param min: 随机数最小取值范围
:param max: 随机数最大取值范围
:param count: 生成的随机数个数
:return: 生成的随机数列表,个数即(count的值)
'''
random_int_list = []
for i in range(count):
random_int_list.append(random.randint(min,max))
return random_int_list if __name__=="__main__":
print(get_random_int(10,110,3))

3.2生成任意个数任意长度的随机字符串(生成手机短信验证码可以用这个方法)

import random

# 生成随机字符串
def get_random_str(base_str,str_length,count):
'''
功能:以一列字符串的值作为基准,用他们的组合形成新的随机字符串
说明:外层循环控制生成随机字符串个数,里层循环控制生成的单个随机字符串的长度
:param base_str:基准字符串,后续生成的随机字符串待拼接的值取自于这个基准字符串
:param str_length: 生成单个随机字符串的长度
:param count: 生成随机字符串的个数
:return:
'''
random_str_list = []
for k in range(count):
str1 = ''
for j in range(str_length):
str1 = str1 +base_str[random.randint(0,len(base_str)-1)]
random_str_list.append(str1)
return random_str_list if __name__=="__main__":
base_str = '2021加油!comeonliujingling'
print(get_random_str(base_str,4,3))

3.3生成任意个数随机手机号

import random

# 生成随机手机号码
def get_rondom_mobile(base_phonenum_zone,count):
'''
说明:
random.sample('0123456789',8)返回的是一个字符串列表
''.join(字符串列表) 作用是将字符传列表中所有的值拼接成一个字符串
功能:生成指定号段的随机手机号
:param base_phonenum_zone: 手机号码号码号段列表,值是字符串类型
:param count: 生成随机手机号个数
:return: 手机号列表,值是字符串类型
'''
phone_num_list = []
for j in range(count):
phone_zone = random.choice(base_phonenum_zone)
phone_end_8_num = ''.join(random.sample('0123456789',8))
phone_num = str(phone_zone) + phone_end_8_num
phone_num_list.append(phone_num)
return phone_num_list if __name__=="__main__":
print(get_rondom_mobile(['131','132'],3))

python-利用random模块生成测试数据封装方法总结的更多相关文章

  1. Python中random模块生成随机数详解

    Python中random模块生成随机数详解 本文给大家汇总了一下在Python中random模块中最常用的生成随机数的方法,有需要的小伙伴可以参考下 Python中的random模块用于生成随机数. ...

  2. 利用random模块生成验证码

    random模块 该模块用于数学或者数据相关的领域,使用方法非常简单下面介绍常用的放法 1.随机小数 random.random() 2.随机整数random.randint(1,5) # 大于等于1 ...

  3. Python 使用random模块生成随机数

    需要先导入 random  模块,然后通过 random 静态对象调用该一些方法. random() 函数中常见的方法如下: # coding: utf-8 # Team : Quality Mana ...

  4. python的random模块生成随机数

    python的random函数 random.random() 生成0-1之间的随机数 random.uniform(a,b)生成a,b之间的浮点数 random.randint(a,b)生成a,b之 ...

  5. python的random模块(生成验证码)

    python的random模块(生成验证码) random模块常用方法 random.random() #生成0到1之间的随机数,没有参数,float类型 random.randint(1, 3) # ...

  6. 【转】python之random模块分析(一)

    [转]python之random模块分析(一) random是python产生伪随机数的模块,随机种子默认为系统时钟.下面分析模块中的方法: 1.random.randint(start,stop): ...

  7. python时间序列按频率生成日期的方法

    引用:https://www.zhangshengrong.com/p/281omE7rNw/ 有时候我们的数据是按某个频率收集的,比如每日.每月.每15分钟,那么我们怎么产生对应频率的索引呢?pan ...

  8. 你真的用好了Python的random模块吗?

    random模块 用于生成伪随机数 源码位置: Lib/random.py(看看就好,千万别随便修改) 真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结 ...

  9. python的random模块及加权随机算法的python实现

    random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串. random.seed(x)改变随机数生成器的种子seed. 一般不必特别去设定seed,Python会自动选择seed. ...

随机推荐

  1. 关于包装类Integer,Long比较用==和equals的问题

    所有整型包装类对象之间值的比较,全部使用 equals 方法比较. 说明:对于 Integer var = ? 在-128 至 127 之间的赋值,Integer 对象是在 IntegerCache. ...

  2. MacBookPro2021 M1-MAX电脑问题锦集

    MacBook2021 M1-MAXPro电脑问题锦集 问题1: 开启硬盘加密,开机闪屏 问题详述: 在系统偏好设置中,打开安全与隐私,在弹出窗口中切换到第二个页签(文件保险箱),启用文件保险箱功能, ...

  3. 【记录一个问题】用ndk的gcc命令行无法编译C++11的lambda等语法的代码

    /Users/ahfu/code/android/android-ndk-r14b/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_6 ...

  4. vue学习14-自定义组件添加属性

    <!DOCTYPE html> <html lang='en'> <head> <meta charset='UTF-8'> <meta http ...

  5. golang中自定义实现0当做除数的错误异常处理接口

    package main import "fmt" type ZeroDivisor struct { // 定义一个0当做除数的结构体 divisor int // 被除数 di ...

  6. iptables规则管理

    查看规则 iptables -t filter -L INPUT -n -v --line  省略-t选项时,表示默认操作filter表中的规则 添加规则 注意点:添加规则时,规则的顺序非常重要  - ...

  7. 计算机网络再次整理————tcp例子前奏[三]

    前言 简单编写一下tcp例子. 正文 我们常说IOS有7层,实际上也只有4层,或者这样说简单的说是4层. 首先是数据链路层,首先这一层解决了什么问题呢?为什么要有这一层呢? 首先要抛开有操作系统的意识 ...

  8. Spring源码-IOC部分-Bean实例化过程【5】

    实验环境:spring-framework-5.0.2.jdk8.gradle4.3.1 Spring源码-IOC部分-容器简介[1] Spring源码-IOC部分-容器初始化过程[2] Spring ...

  9. Lesson7——Pandas 使用自定义函数

    pandas目录 简介 如果想要应用自定义的函数,或者把其他库中的函数应用到 Pandas 对象中,有以下三种方法: 操作整个 DataFrame 的函数:pipe() 操作行或者列的函数:apply ...

  10. django入门 02 初探app、view、url、templates、static

    创建APP命令 python manage.py startapp myapp app组成介绍 如上图,在终端中展示树状结构-- windows为 tree /f macOS为 tree 注册APP ...