别想那么多,你发帖的时间,人家都写完一道力扣了
回家不知道干嘛,也不想各种人情世故。目前在广州,离家 自驾开车 1.5h,感觉还行,一个月回一次
楼主加油💪🏻
是呀,年初裁了一波, 没在名单内
golang 的不是很了解,github 找找
附上 jcci 项目介绍以及地址:
testerhome:https://testerhome.com/topics/39516
github:https://github.com/baikaishuipp
是的,你说的对,其实就是造数脚本套了个平台(极简化的功能),达到共享化 + 维护方便 + 执行方便;核心就是动态导包执行(getattr)+ apidoc 注释解析 + 前端自动生成通用造数卡片 ;至于你说不好用,萝卜青菜各有所爱咯,有人吐槽,有人喜欢,但存在即合理,反正在我司已经落地了
只能算是 0.5 版本(每加一个造数场景,就得从重新写个接口 + 页面),看看我的这个吧(直接将平台和造数解耦)https://testerhome.com/topics/34512
19 年写的
import hashlib
import base64
from public.api_common import api_sign,project_type
from public.log import logger
# mylog=logger('验签模块').get_logger()
class checkSign:
# 初始化传入dict
def __init__(self, dict):
# mylog.info(f"请求参数:{dict}")
# 不改变传入的data=>直接对字典进行复制
data = dict.copy()
self.dict = data
def check_dict(self):
# 首先判断字典是否空,为空直接加密
if not self.dict:
string = ''
if project_type != 3:
return {"X-MPMALL-Sign": self.__sign(string)}
else:
return {"X-Sign": self.__sign(string)}
else:
# 非空字典,过滤value为空和嵌套字典、列表
for k, v in list(self.dict.items()):
if v == '' or v is None:
self.dict.pop(k)
for k, v in list(self.dict.items()):
if type(
self.dict[k]).__name__ == 'dict'or type(
self.dict[k]).__name__ == 'list':
self.dict.pop(k)
# 对字典进行ASCII码排序
new_list = sorted(self.dict.items())
alist = []
for i in new_list:
data = '&' + str(i[0]) + '=' + str(i[1])
alist.append(data)
new_string = ''.join(alist)
if project_type != 3:
return {"X-MPMALL-Sign": self.__sign(new_string)}
else:
return {"X-Sign": self.__sign(new_string)}
# 私有方法,生成签名
def __sign(self, string):
if string:
sign = string[1:] + '&key=' + api_sign # 测试环境
m = hashlib.md5()
m.update(sign.encode("utf8"))
encodeStr = m.hexdigest()
base_code = base64.b64encode(encodeStr.encode('utf-8'))
print(api_sign)
return str(base_code, 'utf-8')
else:
sign = 'key=' + api_sign
m = hashlib.md5()
m.update(sign.encode("utf8"))
encodeStr = m.hexdigest()
base_code = base64.b64encode(encodeStr.encode('utf-8'))
return str(base_code, 'utf-8')
F12 就可以了
赞👍🏻等一个接口关联功能
一般接口的 response headers 里面的 Content-Disposition 会有 filename,可以用这个;又或者自己重新自定义文件名,接口名 + 时间戳,一般就不会重复了
测试人员的
总结得不错,但是太多斜体,看得费劲
裁员 ing.jpg
有能力就转开发吧
A 佬牛逼!
枚举?
主要是看公司的业务吧,我这边的大多都是长流程,涉及好几条业务线,用户订单过来,经过了 OMS、调度系统、WMS、TMS、FNC 等等。。。所以数据工厂还是很必要的= =
get
自己封装一个 mybatis
你这第三个参数,开发是定义成 alibaba.fastjson.JSON 么?这种不一般是自定义对象名么?cn.com.xxx.scs.api.wms.dto.xxx.StaffMaterialReq
还是跟接口平台区别很大,数据工厂核心是 py 脚本,接口平台核心是接口用例