20230507-测试平台实战二

课堂PPT

PPT地址

源码地址

HogwartsSDETck26: 霍格沃兹测试开发学社 / HogwartsSDETck26

训练营目标

  • 项目初始化
  • api接口封装
  • 布局实现
  • 测试用例组件实现
  • 测试计划组件实现
  • 测试报告组件实现
  • 登录注册功能实现

优化点一

  • 新增时将token中的用户名解析出来,存到数据库
  # 获取jwt里面的用户信息
  user_info = get_jwt_identity()
  print('user_info', user_info)

优化点二

  • 登录过期时自动回到登录页
# 响应拦截器获取状态,401时,返回首页
/* 响应拦截   this.service.interceptors.response.use(response => response.data, error => Promise.reject(error))*/
instance.interceptors.response.use(
  response => {
    return response.data
  },
  error => {
    // 返回错误信息
    if (error?.response?.status == 401) {
      console.log('error===401')
      window.open('#/user', '_self')
    }
    return Promise.reject(error)
  }
)
/* 响应拦截   this.service.interceptors.response.use(response => response.data, error => Promise.reject(error))*/
instance.interceptors.response.use(
  response => {
    /*
    1. 关闭全屏loading动画
    2. 数据解密
    3. 根据 response.data.code 做不同的错误处理
    4. ……
    */
    store.showLoading(false)
    // if (code !== 0) {
    //   ElMessage.error(data.message)
    //   return Promise.reject(data)
    // }
    return response.data
  },
  error => {
    // 返回错误信息
    store.showLoading(false)
    console.log('error===', error?.response?.status)
    if (error?.response?.status == 401) {
      console.log('error===401')
      window.open('#/user/login', '_self')
    } else if (error?.response?.status == 404) {
      console.log('error===404')
      window.open('#/page404', '_self')
    }
    return Promise.reject(error)
  }
)