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 登录之后的语言仍是中文,造成测试失败。
方向
- 研究用户第一次登录后配置语言逻辑,看是否存在一些逻辑能控制设置的语言。
- 为自动化测试添加 application settings toggle 功能(类似 feature flag toggle),在测试前后启用禁用配置。
- 通过 用户信息配置 API 修改 root 用户的 location 属性(在 gitlab/qa 中处理,template.rb)
/cc @TomHeng @WilsonDuan
由 Song Huang 编辑于