• 2 月份面试总结 at 2025年03月03日

    只能说卷吧。

  • 2 月份面试总结 at 2025年03月03日

    我都是海投的,还是降低了预期薪资

  • 2 月份面试总结 at 2025年03月03日

    前期我都是海投的,降低了预期薪资投的

  • 2 月份面试总结 at 2025年03月03日

    现在是真的卷,一抓一大把

  • 2 月份面试总结 at 2025年03月03日

    自己去搜一下。或者在一些交流群问问

  • 2 月份面试总结 at 2025年03月03日

    自己去搜一下。或者在一些交流群问问

  • 2 月份面试总结 at 2025年03月03日

    没啥好看的,主要还是围绕基础、自动化、测试工具等等

  • 2 月份面试总结 at 2025年03月03日

    确实是,后面长记性了,当个乖乖仔

  • 2 月份面试总结 at 2025年03月03日

    广州难啊。要是没夕阳,广州估计能 1718 左右,现在这种简历一抓一大把,都很卷

  • 2 月份面试总结 at 2025年03月03日

    前期能约到面试去了,毕竟好些年没面试过

  • 别想那么多,你发帖的时间,人家都写完一道力扣了

  • 回家不知道干嘛,也不想各种人情世故。目前在广州,离家 自驾开车 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,可以用这个;又或者自己重新自定义文件名,接口名 + 时间戳,一般就不会重复了

  • FunLine 数据工厂开源 at 2024年01月16日
    1. 注释写起来不算麻烦吧,反正都是可以 cv,看了团队其他人写的,参数最多也就 4 个
    2. 至于维护,就算接口自动化平台分离出来的造数脚本,也要一直维护,少不了这事
    3. 如果不想写注释的话,其实可以新加个功能,在页面自定义新增,那种我觉得更加复杂,譬如这下面的(图源另一小组开发的数据工厂) 以上个人见解~
  • FunLine 数据工厂开源 at 2024年01月08日

    测试人员的

  • 总结得不错,但是太多斜体,看得费劲😂