QA Self-Managed 测试,没有初始账户问题

问题

QA 自动化测试里,self-managed 版本跟 SaaS 版本一个很大的差别在于环境不是固定的,不像 Staing/Production 手动固定创建好了一些测试用户以及他们的 API token,可以直接用。

在 self-managed 版本逻辑中,测试的是全新的实例。因为极狐环境下默认改成了中文,我们 SaaS 自动化测试会通过 feature flag toggle 功能手动将这个中文功能关闭,这样自动化测试就能继续在英文环境下运行,Upstream 大量英文硬编码的测试也能跑过。

但是现在 self-managed 自动化测试由于没有 admin 用户的 API token,因此在 feature flag toggle 此时是失效的。而当测试通过 UI 去 admin 管理界面添加 API token 时,会进行登录操作并且会将测试的语言设为了 admin 用户的默认语言。这导致之后 feature flag toggle 即使能生效,admin 登录之后的语言仍是中文,造成测试失败。

方向

  1. 研究用户第一次登录后配置语言逻辑,看是否存在一些逻辑能控制设置的语言。
  2. 为自动化测试添加 application settings toggle 功能(类似 feature flag toggle),在测试前后启用禁用配置。
  3. 通过 用户信息配置 API 修改 root 用户的 location 属性(在 gitlab/qa 中处理,template.rb)

/cc @TomHeng @WilsonDuan

Song Huang 编辑于