python - 自定义脚本,支持接口自动化
程序员文章站
2022-05-19 15:50:26
...
目录
- 【数据准备】自定义长度生成字符串a*n
- 【数据准备】按照序号截取字符串 从0下标开始 getstringbyindex(s,0,6) 即取前6位
- 【数据准备】若参数类型为list,可从数据表中查询符合要求的数据
- 【数据准备】加减乘除四则运算
- 【数据准备】若参数需要保证唯一性,可以利用时间戳构造随机新数据
- 【数据准备】生成32位小写uuid
- 【数据准备】生成32位小写uuid
- 【数据准备】获取list中的第n个元素
- 【数据准备】获取当前时间的日期信息 格式为年-月-日
- 【数据准备】md5加密
- 【数据准备】 拼接所有输入的字符串
- 【校验】通过键找值(需要判断布尔类型时不可用)
- 【校验】判断后者字符串是否包含前面的字符串
- 【校验】校验接口返回是否为空
- 【校验】jsondata:取json返回中的某个键对应的值,如果内容值为none返回异常
- 【校验】获取get请求response headers
- 【校验】通过url拿到图片的高
- 【校验】通过url拿到图片的宽
- 【校验】通过url拿到图片的物理大小-byte
- 【校验】通过url拿到图片的格式
【数据准备】自定义长度生成字符串a*n
import os
import random
def createlongchar(length):
a="a"
b=a*length
print(b)
return b
# if __name__ == '__main__':
# createlongchar(5)
【数据准备】按照序号截取字符串 从0下标开始 getstringbyindex(s,0,6) 即取前6位
def getstringbyindex(s,a,b):
l=""
l=s
c=0
c=a
d=0
d=b
z=l[c:d]
print(z)
return z
【数据准备】字符串替换
def StringModify(s,a,b):
print(s.replace(a, b))
return s.replace(a, b)
StringModify("this",'is','at')
【数据准备】若参数类型为list,可从数据表中查询符合要求的数据
- 从数据库查询符合要求的数据db
SELECT `id` FROM `table` WHERE `isDeleted` = '0' LIMIT 10;
- 构造list数据
# 构造list数据 result可填有列数据的db查询结果 key填列名 可得【"a","b",...】的list
def getlist(result,key):
d = result
b=[]
print(len(d))
for i in range(len(d)):
b.append(d[i].get(key))
print(b)
return b
# if __name__ == '__main__':
# get(db,'id')
【数据准备】加减乘除四则运算
def arithmetic(a, b, operator):
if operator == "a":
return a + b
elif operator == "s":
return a - b
elif operator == "m":
return a * b
elif operator == "d":
return a / b
# 测试
print(arithmetic(1,2,'a'))
print(arithmetic(1,2,'s'))
print(arithmetic(1,2,'m'))
print(arithmetic(1,2,'d'))
【数据准备】若参数需要保证唯一性,可以利用时间戳构造随机新数据
- 获取当前时间毫秒级时间戳(int格式)
import time
import datetime
def getnowtimestampmsnum():
t = time.time()
# 获取当前时间毫秒级时间戳(int格式)
i=int(round(t * 1000))
return i
# if __name__ == '__main__':
# print(getnowtimestampmsnum())
- 获取当前时间毫秒级时间戳(字符串格式)
import time
import datetime
def getnowtimestampms():
t = time.time()
# 获取当前时间毫秒级时间戳(字符串格式)
s=str(round(t * 1000))
return s
# if __name__ == '__main__':
# print(getnowtimestampms())
【数据准备】生成32位小写uuid
import os
import random
import string
def get32uuid():
w = "1234567890abcdefghijklmnopqrstuvwxyz"
u=[]
random.seed()
for i in range(32):
u.append(random.choice(w))
uuid=''.join(u)
return uuid
print(get32uuid())
【数据准备】生成32位小写uuid
例:d3fbe7e3-7763-43b9-adf8-dcdd0fea4ef3
import uuid
def get_32uuid():
return str(uuid.uuid4())
print(get_32uuid())
【数据准备】获取list中的第n个元素
def getdatainlist(s,n):
ss=[]
ss=s
n=int(n)
num=n-1
print(s[num])
return s[num]
【数据准备】获取当前时间的日期信息 格式为年-月-日
import time
def ymd():
print (time.strftime("%Y-%m-%d", time.localtime()))
return (time.strftime("%Y-%m-%d", time.localtime()))
# 格式化成2021-03-01形式
ymd()
【数据准备】md5加密
import os
import random
import hashlib
def getmd5(s):
str = s
hl = hashlib.md5()
hl.update(str.encode(encoding='utf-8'))
str1 = hl.hexdigest()
print('MD5加密前为 :' + str)
print('MD5加密后为 :' + str1)
return str1
【数据准备】 拼接所有输入的字符串
def addstr(s1,s2,*s3):
l = [s1,s2,*s3]
add_str = ''.join(l)
print(l)
print(add_str)
return add_str
【校验】通过键找值(需要判断布尔类型时不可用)
import os
import random
def getvaluebykey(result,key):
result1=result
key1=key
d = result[0]
print(d)
b = d.get(key)
print(d.keys())
print(b)
return b
【校验】判断后者字符串是否包含前面的字符串
def isinstr(a,b):
if a in b:
return True
else:
return False
s = isinstr("s","this")
print(s)
【校验】校验接口返回是否为空
import os
import random
def getResultSize(result):
size=len(result)
return size
【校验】jsondata:取json返回中的某个键对应的值,如果内容值为none返回异常
def jsondata(result,key):
if result is None:
b=""
else:
b = result.get(key)
if b is None:
b=""
return b
【校验】获取get请求response headers
import requests
def get_header(url, key):
r = requests.get(url)
value_key = r.headers['content-type']
return value_key
【校验】通过url拿到图片的高
# encoding=utf-8
import requests
from io import BytesIO
from PIL import Image
def getHeightByUrl(url):
response = requests.get(url)
tmpIm = BytesIO(response.content)
im = Image.open(tmpIm)
# 长宽储存在im当中的size列表当中
return im.size[1]
【校验】通过url拿到图片的宽
# encoding=utf-8
import requests
from io import BytesIO
from PIL import Image
def getwidthByUrl(url):
response = requests.get(url)
tmpIm = BytesIO(response.content)
im = Image.open(tmpIm)
# 长宽储存在im当中的size列表当中
return im.size[0]
【校验】通过url拿到图片的物理大小-byte
#! -*- coding: utf-8 -*-
import requests
import io
def getSizeByUrl(url):
image = requests.get(url).content
image_b = io.BytesIO(image).read()
size = len(image_b)
return format(size)
【校验】通过url拿到图片的格式
# encoding=utf-8
import requests
from io import BytesIO
from PIL import Image
def getFormatByUrl(url):
response = requests.get(url)
tmpIm = BytesIO(response.content)
im = Image.open(tmpIm)
print(im)
print(im.format)
return im.format.lower()
推荐阅读