0x7C00.

  • 有一个插件:pytest-json-report 可以使用。


    google 下, pytest 基本你想要的功能,都有已实现的插件。

  • 用例设计根据当前需要。一般接口用例分成单接口和业务流接口,正常和异常的 case 设计取舍还是根据当前团队情况。
    简单例子:团队需要把和钱相关业务场景尽快覆盖,那就优先写正常 “钱”+ 部分异常 “钱” 相关的业务流用例.另外用例的展开也分阶段的,无法一蹴而就。

  • 入参模型是自动生成的。

  • 我不是大佬噢,论坛里和论坛外很多很多真.大佬. 我上面回复是指【接口管理自动更新】哈。

  • 你楼下有回复了一个。我们会做业务测试的,不可能脱离业务。

  • 接口是根据研发代码仓库里的文件自动生成的,研发有改动,我们也会同步一键修改.

  • 因为一直在做服务端方面测试,和大家交流下自己的思考.


    • 写 python 代码来的有效率,还是使用接口平台效率高?

      • 效率高低的考虑,再升级是把领导吩咐的事 orOKR 尽快完成。如果目的是短期做出来,那就使用接口平台. 如果不是第一个目的,选择 Python 写。从经验来看,使用接口平台中后期「3-6 个月之后」会遇到很多问题,最终放弃.现在我们是属于自己开发.原因很简答①之前的接口平台无法再支持我们业务复杂度的开发,如果扩展我们再写代码又回到了最初的选择上了②领导有要求测试人员全部转型测开.③团队人员技术基础素质很好. 所以答案就看目前所在团队的 OKR 了
      • 自动化的运行环境是一个通病,每个公司都有,我们现在做法在执行前会进行各种健康检查和第二步可选择的环境发布管理。按照经验,也是很有帮助的,我们可以很好的提前中断 case,避免误报。因为有消息通知机制,也会第一时间同步环境问题给所有人。
    • 用例都写完了,怎么更能体现价值,只在测试冒烟阶段执行? 还是开发?生产都执行?

      • 能够输出价值,才是我们所做事情意义所在。我的思考是①自动化用例设计很重要②自动化用例执行频率很重要③自动化用例数量很重要④执行节点很重要 [作为卡点,生产之前全量执行一次,在测试环境回归执行一次] 以上是第一层,第二层思考①接口自动化可能执行一段时间,也没有预防住和发现一些问题,所以 自始至终需要给团队和 leader 说明,有接口自动化项目肯定是非常好的加分项,不管对谁。对于业务来说,至少在服务端,我们可以很自信的说,放心上线服务端功能,这块不会出现 P0 问题。这是需要慢慢传递给所有人的②自动化测试提供了很好的工程效率③接口自动化是可以很好做横向和纵向的扩展的,例如横向的性能测试,业务监控等等,纵向的是收集错误用例历史数据分析,复制和回放等等。
    • 其实围绕一个接口自动化项目,也可以做很多事情,如果不从上面的技术角度扩展,就从项目角度可以延伸很多,一个简单例子借此机会提高培训团队人员 code 能力,借此项目扩展到其他维度的自动化等等,这个也可以和 leader 讨论,看 leader 的想法。

    但是以上所有做的事情都有一个大前提,你有一个好领导,支持你!!!!😄

    以上是个人浅见,希望有帮助!

  • 如果项目已经在用 gitlab 的 CICD,可以使用.gitlab-ci.yml ,根据不同改动触发不同 jenkins-job.

    .gitlab-ci.yml

    stages:
      - run-platformA-job
      - run-platformB-job
    
    platformA:
      stage: run-platformA-job
      except:
        changes:
          - "platformB" # 当有platformB变动时,不触发A的job,执行run-platformB-job
      only:
        - merge_requests
        - branches
      allow_failure: false
      script:
        - curl -X POST http://xxxx/job/job-A/buildWithParameters? # 触发Jenkins job
    
    platformB:
      stage: run-platformB-job
      except:
        changes:
          - "platformA" # 当有platformA变动时,不触发B的job,执行run-platformA-job
      only:
        - merge_requests
        - branches
      allow_failure: false
      script:
        - curl -X POST http://xxxx/job/job-B/buildWithParameters?
    
    

    以上.gitlab-ci.yml 配置没有经过本地测试,不知道能否成功, 只是提供一种思路😄

  • Jenkins-->manage jenkins-->configure system-->Jenkins Location-->Jenkins URL 更改为新 IP 地址。
    这种情况是因为电脑的 IP 动态变化了下,而 Jenkins 的 IP 没有跟随系统动态更新.

  • python3.5 以下版本不支持f"{}"的语法,两个方法解决:
    ①:python 安装 3.6 以上版本
    ②:坚持用 python3.5 版本,但使用低版本的Appium-Python-Client

0x7C00.