前言

我们在做测试的过程中,时常需要构造测试数据,Python提供了一些模块和库可以快速的帮我们构造测试数据。用好这些库可以使我们的测试工作事半功倍。

1、日期数据生成

使用datetime模块,自动获取当前时间,一小时前时间,一天前时间,一天后时间
import datetimenowTime=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')#现在pastTime = (datetime.datetime.now()-datetime.timedelta(hours=1)).strftime('%Y-%m-%d %H:%M:%S')#过去一小时时间yesterdayTime = (datetime.datetime.now()+datetime.timedelta(days=-1)).strftime('%Y-%m-%d %H:%M:%S')#昨天afterTomorrowTime = (datetime.datetime.now()+datetime.timedelta(days=2)).strftime('%Y-%m-%d %H:%M:%S')#后天tomorrowTime = (datetime.datetime.now()+datetime.timedelta(days=1)).strftime('%Y-%m-%d %H:%M:%S')#明天print('  当前时间:',nowTime)
print('一个小时前:',pastTime)
print('    一天前:',yesterdayTime)
print('    一天后:',tomorrowTime)
print('    两天后:',afterTomorrowTime)

2、生成数字和字符串

2.1 random和string模块基本使用介绍

代码实现:
import random
import string#1、生成[0,1]之间的1个随机数
print(random.random())  #结果:0.5681789770905409#2、生成[a,b]之间的1个随机数整数
print(random.randint(1,10))  # 结果:7#3、生成[a,b]之间的1个随机浮点数
print(random.uniform(1,10)) # 结果:4.10465640319117#4、从列表中随机取一个值
char_list=['a','b','c','d','e','f','g']
print(random.choice(char_list))  # 结果:g#5、从列表中随机取n个值
print(random.sample(char_list,3))  #结果:['g', 'd', 'a']#6、获取英文字母小写:abcdefghijklmnopqrstuvwxyz
print(string.ascii_lowercase)#7、获取英文字母大写:ABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.ascii_uppercase)#8、获取英文字母大小写:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.ascii_letters)#9、获取数字:0123456789
print(string.digits)
2.2 生成指定长度的随机字符串
import string
import random'''
方法一:定义一个函数,参数为所要生成随机字符串的长度。通过random.randint(a, b)方法得到随机数字,具体函数如下:
'''
def generate_random_str(randomlength=16):"""生成一个指定长度的随机字符串"""random_str = ''base_str = 'ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789'length = len(base_str) - 1for i in range(randomlength):random_str += base_str[random.randint(0, length)]return random_str'''
方法二:方法一中我们采用将数字及字母罗列出来,并从中随机选择的方法进行生成,显得不够pythonic,
方法二中我们采用string模块得到数字及字母,并通过列表生成式的方法得到结果。方法如下:
'''
def generate_random_str(randomlength=16):"""生成一个指定长度的随机字符串,其中string.digits=0123456789string.ascii_letters=abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"""str_list = [random.choice(string.digits + string.ascii_letters) for i in range(randomlength)]'''概述:python中' '.JOIN()的使用,将序列中的元素以指定的字符连接生成一个新的字符串。语法: ‘delimiter’.join(seq)delimiter:分隔符。可以为空delimiter:要连接的元素序列、字符串、元组、字典'''random_str = ''.join(str_list)return random_strrandomstr= generate_random_str(24)
print (randomstr)   #fFBKoFgZZ5X9s3xfQ649VO49

【造数】利用Python快速生成测试数据相关推荐

  1. Python快速生成gif图

    前言 gif图就是动态图,它的原理和视频有点类似,也是通过很多静态图片合成的.本篇文章主要介绍,如何利用Python快速合成gif图,主要利用Python的第三方库imageio imageio介绍 ...

  2. 钉钉一行代码_利用Python快速搭建钉钉和邮件数据推送系统

    前面的文章我们写到了利用Python实现钉钉和邮件的数据推送,在数据处理这一块实现了对mysql和odps的数据获取和处理,可以满足常规业务大部分数据场景需求,在一家初创公司数据基础建设还不完善的时候 ...

  3. DataFactory快速生成测试数据

    1.DataFactory配置连接MySQL 1)下载安装myodbc32驱动 2)DataFactory-->New-->ODBC-->DBC Administrator--> ...

  4. python etree创建xml_利用 Python ElementTree 生成 xml的实例

    Python 处理 xml 文档的方法有很多,除了经典的 sax 和 dom 之外,还有一个 ElementTree. 首先 import 之: from xml.etree import Eleme ...

  5. python批量生成图片_利用Python批量生成任意尺寸的图片

    实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...

  6. python批量生成图_利用Python批量生成任意尺寸的图片

    实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...

  7. 利用python随机生成姓名的实例教程

    本篇文章主要讲解:利用python随机生成姓名的实例教程 作者:任聪聪 整体思路 在我们生成姓名的时候,一般我们要考虑的是姓名的组合构成,姓+名,姓是固定的,名是随机的,故此我们可以通过随机调用常用汉 ...

  8. windows和Linux利用Python快速搭建一个网站

    windows和Linux利用Python快速搭建一个网站 一.windows 步骤1:安装Python3(自行百度) 步骤2:在cmd窗口输入ipconfig查看本机ip地址,IPV4那一行.如:1 ...

  9. 教你一招利用Python快速去除图片水印

    大家好,我是IT界搬运工. 相信大家都有在网上下载好图片但是有水印的烦恼,那么问题就来了:看到心爱的图片想要"占为己有".怎么把图片上的水印去除呢?今天我就来教你一招利用Pytho ...

  10. 利用Python快速绘制海报级别地图

    利用Python快速绘制海报级别地图 1.简介 2.利用prettymaps快速制作海报级地图 2.1 prettymaps的几种使用方式 2.1.1 圆形模式 2.1.2 圆角矩形模式 2.1.3 ...

最新文章

  1. Java对MySQL数据库进行连接、查询和修改【转载】
  2. 21-while里的break简单用法
  3. Java笔试之Singleton
  4. BCG-MFC 库对《支持重新启动管理器》都做了些什么
  5. python封装数据库操作_Python3 数据库操作小封装
  6. phonegap 总结
  7. 《Oracle 11g SQL 和PL SQL从入门到精通》 学习笔记
  8. Windows下安装神通数据库
  9. java读取和写入txt_Java读取和写入txt文件
  10. 服务器单硬盘raid,服务器硬盘做raid0
  11. Spring Data JPA进阶(三):Specification查询
  12. Android Camera2 对焦梳理
  13. 职场干货 | 如何让你的自我介绍,快速打动面试官
  14. Android 页面跳转时发生双击导致app闪退的解决方案
  15. 游戏编辑器制作(6)
  16. c语言 已知5名同学的4门成绩,已知5个学生的4门课的成绩,要求求出每个学生的平均成绩,然后对平均成绩从高到低将各学生的成绩排 序记录...
  17. 网易邮箱登录界面制作方法
  18. 【拓扑排序+dp】Hzy's Rabbit Candy
  19. Fiddler的安装及配置2-2
  20. 火车头分页post php,轻松搞定PHPCMS V9火车头采集自动分页

热门文章

  1. [精简]托福核心词汇106
  2. SpringMVC:过滤器和拦截器的区别和实现原理
  3. Android版本控制软件之SVN
  4. python 分词 词性_pyhanlp——分词与词性标注
  5. 量子计算机物理学,一片“蓝海”:量子计算机的灿烂前景
  6. excel随机数_利用excel快速凭空制造大量随机数据?想要制造什么数据都可以
  7. vue项目之页面底部出现白边及空白区域错误记录
  8. HTTP API 认证授权术
  9. CAB 写inf文件
  10. YX133数显模组 PD数显充电数据线,TYPE-C功率显示充电线方案 介绍