• boss 不是有四千多万在线人数,直接奔溃了么?从去年开始到现在,基本都是裁员,现在 hc 都是凤毛麟角。公司都是老面孔,😂 真怀念以前三分之一的人都是流动来流动去的。怎么说呢,干多久是多久,就算现在总监职级,估计也有完蛋的几率。

  • 现实情况是各个组只是对自己模块熟悉,其他组的可能是指知道怎么玩相对熟悉而已。😂 目前我们这也是各个组出个人在自动化框架的基础上,简单的一个 flask 框架写了一推业务接口,很 low 就一个 app.py。然后呢,平台这边就是调用这些接口加上页面的编写(某种意义上来说俺就是个写页面的)😂 所以还不如整几个 grpc 服务,还能工程化一点。最后吐槽一句,除了页面还好看点,真难用。为了领导自己的 kpi,搞什么账号封禁,强推你只能上平台自己造数造数。本末倒置,其他部门的测试私底下也都有自己的脚本(本地跑跑也能满足自己的小需求),😂 也看出来对这东西的认可度了。。。😂 😂 😂有多少兄弟也是做的这些伪自动化,伪平台?现在行情不好,真后悔 21 年选择。。。浪费我时间

  • 第一种:

    1. 写一个日志的装饰器针对每个造数工具都给他加一个
    2. 数据库表里加一个 case_log 类似的字段存储每个工具的日志
    3. 前端用的 element 的话可以用现成的组件 Drawer 抽屉,把日志和一些请求信息赛里面,具体样式自己慢慢撸

    第二种:
    1.搭建调用链追踪 jaeger,觉得跑出的结果有问题自己看调用链去

    最后说说造数平台,拿电商项目举例,写工具平台的不可能熟悉每个组的业务,不熟悉业务怎么写工具,还不如交易组一套服务,商品组一套服务,营销组一套服务,写几个 grpc 服务拉倒,最后用常用的 web 框架入 django fastapi 调用这些业务组的服务封装成 https 暴露出去。😂 这样大家参与感多点,只要把服务端的框架整出来,让他们往里面填轮子就行。😂 😂 😂

  • 害不行可以试试其他 it 岗位,不一定要做测试的,反正都是混口饭吃

  • 武汉找不到,你就不想想全国找?

  • jsonvue 太丑,用 codemirror 把,花里胡哨的 web 开发不需要那么多工具,一个 postman,一个 navicat, 谷歌浏览器,idea 用 jetbrains 他家的

  • 😂 我想帮忙写页面,虽然前端技术也很烂

  • a, b 是前置接口,你主要校验的功能是查看线路功能,所以 ab 是前置条件,触发后提起对应需要参数,再调用查看线路设计不同场景的 case,进行校验

  • 有完整的项目么?感觉只是个初版的 demo

  • 但如果公司没有,是需要的,自动化平台可以用开源或者自研平台上做个,脚本框架跑出来的结果数据展示。但造数平台以我个人经历几乎大多公司还是有实用价值的。当然上面我也早就说过,前后端本来是个测试都会东西,23 年的今天我早就觉得不再是个亮点,因为所有人都会,算什么玩意,都是基本操作而已。

  • 如何避免线上问题发生? at 2023年08月29日

    曾经一个版本提了两三百个 bug,那个版本上完线质量较高。然后后面吊 leader,怪测试说 bug 那么多。。。也不是测试写的代码

  • ????就算功能点点点岗位,不做自动化么?不做造数平台么?为啥会很难输出。。。

  • 😂 唯一比轻松的可能不需要像研发那样代码玩的很深入,但也差不多的初中级水平吧。😂 学的太广太杂

  • 测试轻松?😂 接口 ui 自动化,性能安全,后端框架,前端框架,微服务架构,redis linux mysql docker k8 等等。软实力等等。😂 情商要高要会来回懂得向上汇报等等,技术要好效率要快。技术迭代了又得更新一波。。。。作为一个菜鸟测试我觉得不轻松。而且现在行情就这样,比以前的 35 危机更危机,没啥格局我随便说说

  • 仲裁一般都是站员工的把😂

  • 这个要看公司的,之前我有个朋友拒绝出差,被开了没赔偿

  • 摆烂等赔偿?

  • 😂 代码本来就是这么玩的,多抄抄,多看看源码和别人写的优秀框架,就熟练精通了

  • 如何快速学会性能测试 at 2023年08月24日

    说实话不是找专门的性能测试岗位,其实你的方法我就觉得够了,😂 😂 😂 一般吧大公司有专门的性能测试,也轮不到你,小公司么压根不需要压测。点点点,顶多再能写个造数平台就够了😂

  • 版主招募~ at 2023年08月24日

    加了。。。

  • 版主招募~ at 2023年08月23日

    楼主你看我还有机会么?

  • conftest 参考,低配版

    import importlib
    import inspect
    import json
    import os
    from string import Template
    import jinja2
    import jsonpath
    import pytest
    import requests
    import yaml
    
    
    def all_functions():
        """加载debug.py模块"""
        debug_module = importlib.import_module("data.debug")
        all_function = inspect.getmembers(debug_module, inspect.isfunction)
        # print(dict(all_function))
        return dict(all_function)
    
    
    def pytest_collect_file(parent, file_path):
        if file_path.suffix == ".yaml" and file_path.name.startswith("test"):
            return YamlFile.from_parent(parent, path=file_path)
    
    
    class YamlFile(pytest.File):
        def collect(self):
            import yaml
            yml_raw = self.fspath.open(encoding='utf-8').read()
            yml_var = Template(yml_raw).safe_substitute(os.environ)
            yml_var = jinja2.Template(yml_var).render(**all_functions())
            raw = yaml.safe_load(yml_var)
    
            for yaml_case in raw:
                name = yaml_case["test"]["name"]
                values = yaml_case["test"]
                yield YamlItem.from_parent(self, name=name, spec=values)
    
    
    class YamlItem(pytest.Item):
        def __init__(self, name, parent, spec):
            super().__init__(name, parent)
            self.name = name
            self.values = spec
            self.request = self.values.get("request")
            self.validate = self.values.get("validate")
            self.s = requests.session()
            self._obj = None
    
        def values_render_variable(self, values):
            # 替换测试用例中的关联值
            yaml_test = Template(json.dumps(values)).safe_substitute(os.environ)
            values = yaml.safe_load(yaml_test)
            return values
    
        def runtest(self):
            values = self.values_render_variable(self.values)
            request_data = values["request"]
            print(request_data)
            response = self.s.request(**request_data)
    
            self.assert_response(response, self.validate)
    
            if values.get("extract"):
                for key, value in values.get("extract").items():
                    os.environ[key] = jsonpath.jsonpath(response.json(), value)[0]
            self.assert_response(response, values.get("validate"))
    
        def assert_response(self, response, validate):
            """自定义断言"""
            for i in validate:
                if "eq" in i.keys():
                    yaml_result = i.get("eq")[0]
                    actual_result = jsonpath.jsonpath(response.json(), yaml_result)
                    expect_result = i.get("eq")[1]
    
                    assert actual_result[0] == expect_result
    
    
  • 多抄抄就会了😂

  • 😂报错信息是啥?这个 response 应该没有 json 这个属性😂 😂

  • conftest.py 文件重写 pytest_collect_file