我在本地使用 python3.8+selenium3+pytest+allure 编写了 UI 自动化测试代码并提交到了 gitlab 仓库,现在我想通过 gitlab 自动执行 UI 自动化测试代码,.gitlab-ci.yml 文件应该怎么写
先分析一下你这个需求:你要执行自动化测试,必须有一个地方打开浏览器,访问你要测试的网站。所以执行的时候,必须有这样的一个环境。gitlab 只是管理代码的,没有听说过可以执行用例。通常情况下,会从 gitlab 上下载代码到要执行测试用例的机器上,再借助于 jenkins 进行任务调度执行。
没用过 gitlab,但我猜你想要做的是 Jenkins 这种 CICD 上面的集成?如果是的话,可以搜一下看怎么在 Jenkins 上面配置,step 里面写好要 checkout 哪个 gitlab REPO 就可以了
gitlab 自带的 CI/CD 流水线也是可以自动执行脚本的,原理和 Jenkins 是一样的
gitlab 也是自带 CI/CD 流水线的,和 Jenkins 原理是一样的
我最近也正在研究通过 jenkins+gitlab 实现自动化持续集成,可以加个好友一起探讨
我现在在研究只使用 gitlab 自带的 CI/CD 流水线进行持续集成操作
基本步骤: 1、配置一个 gitlab runner,作为执行器。没有执行器有脚本也没地方执行。同时这个 runner 所在机器需要配置好你跑自动化测试所需的环境,否则也会跑不起来。 2、项目里配置 .gitlab-ci.yml ,定义具体要执行的内容以及只在哪些分支上执行
详细的 .gitlab-ci.yml 怎么配,可以看看官方文档:https://docs.gitlab.com/ee/ci/yaml/gitlab_ci_yaml.html
gitlab 提供的 ci/cd 属于比较简单的流程,适合拿来跑单测、代码扫描之类的和仓库内容强绑定的自动化测试,好处是可以和 MR 之类的代码评审手段结合,也比较轻量;缺点是配置灵活度不如 jenkins,相关资料也相对少,环境出问题排查起来会麻烦一些。
弄了一段时间也算是配置好了,之前没有接触过 gitlab 的流水线,相关文档确实是很少,费了很大劲才跑起来,还是 jenkins 较好