在接口测试中我们经常遇到请求参数包括两组不同时间的问题,要保证每次的时间序列的唯一时才不会导致订单号重复,从而达到预期批量的效果。当没有捷径的时候我们可以定义多个时间来获取,但是这种方法需要每次创建多个时间序列,比较繁琐。针对这个问题我研究了一个万能的方法,可以解决这个问题。
不得不说Python里面的方法是很强大的,只有遇到问题的时候才能激发出你解决问题的欲望,不断挖掘出适合的方法,适合的就是正确的。
只有不断尝试不断失败,才能总结出丰富的经验!
废话一堆了,直接上代码....
安装读写Excel的插件:
pandas
openpyxl
第一步:创建一个生成时间的公共方法:
def getTimes(waitetime):
time.sleep(waitetime)
now=time.strftime('%Y%m%d%H%M%S')
return now
解释一下:方法里面的参数waitetime,是我们写入时间的个数
第二步:创建写入时间的方法
def writeDataToExcelColumn(file,num):
print('正在写入时间,请等待.....')
wb = openpyxl.load_workbook(file)
a = pd.date_range(start=getTimes(num), periods=num, freq='s')
b = pd.date_range(start=getTimes(num), periods=num, freq='s')
timer1 = a.strftime('%Y%m%d%H%M%S')
timer2 = b.strftime('%Y%m%d%H%M%S')
wdata = list(timer1)
wdata2 = list(timer2)
sheet1 = wb.worksheets[0]
for i in range(len(wdata)):
sheet1.cell(i+2,1).value=wdata[i]
for j in range(len(wdata2)):
sheet1.cell(j + 2, 2).value = wdata2[j]
wb.save(file)
print('写入时间完成')
解释:pandas.date_range()这个函数主要是返回固定频率的时间索引,参数有很多,只用适合的方法。periods-生成的个数,freq-按小时、分钟、秒生成。freq=‘s’ 表示每秒生成一个时间序列。python学习的资料有很多,可以自行度娘!
最后,来看下效果: