在做接口测试过程中遇到请求参数时间戳的转换,记录下:
这里使用的是Java语言开发http接口,其中有个请求标识id、密匙和时间戳的拼接再加密的。使用Python测试这些接口需要将里面的时间戳转换成Java的时间戳格式;
如接口文档中某句话:
#id = 时间戳(13位)+ 3位随机数,获取,请求标识 ;
Python---》Java时间戳转换
Python时间戳是double类型的整数部分长度是10位,转为Java的时间戳需要*1000,再取整数部分==》变成13位数,就符合Java的13位时间戳长度啦;
使用到time模块、字符串分割函数split()函数。
eg:
import sys,time,random,hashlib
sys.path.append('../db_set')
from db_set.mysql_db import DB
def setUp_():
tim = time.time() #获取Python时间戳
tim = tim*1000 #转Java时间戳
tim = str(tim)
# ts时间戳
ts = tim.split('.')[0]
ran = random.randint(100,999)
ran = str(ran)
# reqId时间戳拼接随机数
reqId =ts + ran
# 密匙
secret = 'xxxxxxxxxx2169a6302b'
#请求头
header = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36"}
#实例化数据库
db = DB()
return (ts,reqId,secret,header,db) #多个返回值,是一个元组