如何建设网站并与数据库相连,新加坡vps,中小企业加盟网站建设,网站建设必须要做404文章目录 写在前面一、准备工作1.1 注册GitLink账号1.2 托管项目1.3 新建项目管理引擎流水线 二、开始构建流水线2.1 进入图形流水线编辑页2.2 添加git clone节点2.3 添加shell节点2.4 添加allure html节点2.5 添加新建GitLink疑修节点2.6 添加钉钉通知节点2.7 设置任务触发器2… 文章目录 写在前面一、准备工作1.1 注册GitLink账号1.2 托管项目1.3 新建项目管理引擎流水线 二、开始构建流水线2.1 进入图形流水线编辑页2.2 添加git clone节点2.3 添加shell节点2.4 添加allure html节点2.5 添加新建GitLink疑修节点2.6 添加钉钉通知节点2.7 设置任务触发器2.7.1 第一类触发器cron2.7.2 第二类触发器GitLink 三、流水线示例 写在前面
想要运行自动化测试但是对于服务器知识了解过少不足以支撑构建自动化测试项目怎么办
想要运行自动化测试但是没有可以服务器怎么办
GitLink引擎来帮你解决这些问题
今天给大家推荐一款好用的CI/CD工具GitLink引擎可以轻松实现一键构建自动化测试项目让你的自动化测试运行无忧
一、准备工作
1.1 注册GitLink账号
要使用GitLink引擎我们需要注册一个GitLink账号注册地址https://gitlink.org.cn/register
1.2 托管项目
首先我们需要准备一个自动化测试项目将自动化测试项目上传到GitLink或者Gitee或者Github上进行托管。
建议使用GitLink进行托管哦~
1.3 新建项目管理引擎流水线
GitLink账号新建成功后我们可以在GitLink新建一个项目用来管理我们的流水线。
注意假如是在GitLink托管自动化测试项目如果需要直接使用该项目的引擎需要将流水线保存在其他分支中因为流水线的保存会更新代码库文件以免影响自动化测试代码
新建项目地址https://www.gitlink.org.cn/projects/deposit/new 登录后可正常访问
二、开始构建流水线
2.1 进入图形流水线编辑页 进入项目详情页点击“引擎”进入引擎页面点击“图形流水线” 选择流水线代码保存的分支一般默认master分支后添加所需要的节点。 注意必须有开始和结束节点。
2.2 添加git clone节点
需要注意如下几个参数
用户名 访问自动化测试私有仓库的用户名仓库是公开的可以不填密码 访问自动化测试私有仓库的用密码仓库是公开的可以不填git地址自动化测试项目的git地址标签、分支或pr/mr自动化测试项目的所在分支一般都是默认master
2.3 添加shell节点
需要注意几个参数 docker镜像 可以手动输入所需的镜像我这里用过2个镜像 mcr.microsoft.com/playwright/python:v1.38.0-focal有playwright环境python:3.9-slim-busterpython 3.9环境 环境变量 我们需要将git clone节点clone下来的自动化测试项目路径保存为环境变量参考如下 脚本 这里需要输入运行自动化测试项目的命令。
可以参考我输入的命令
# 这里是因为我当前使用的镜像没有安装jdk所以我手动安装了一下
apt update
apt install -y openjdk-8-jdk-headless
# 由于我是自动化测试项目保存了allure的代码需要给allure执行文件赋予执行权限。
cd $PROJECT/lib/allure-2.22.0/bin
chmod x allure
# 切换当前目录到自动化测试项目所在目录
cd $PROJECT
# 我是使用pipenv管理依赖环境所以需要安装pipenv
pip install pipenv
# 使用pipenv安装项目所需依赖正常命令是pipenv install; 由于镜像使用的3.8我使用的3.9因此我需要使用如下命令
pipenv install --python 3.8 --skip-lock
# 在虚拟环境中安装playwright浏览器驱动
pipenv run playwright install
# 在虚拟环境中运行测试
pipenv run python run.py假如你的自动化测试代码没有封装单独的run.py文件是通过pytest去运行测试的那么命令参考如下
# 一键安装项目所需依赖项目所需依赖都保存在requirements.txt中
# 或者也可以pip单独一个个安装依赖包
pip install requirements.txt -r
pytest --alluredirallure-results2.4 添加allure html节点
注意如果你的自动化测试代码运行完成后已经生成了allure html测试报告可以跳过这个节点
注意这里“allure-results路径”需要输入自动化测试项目生成的allure results测试结果集的目录。git clone节点会返回自动化测试项目的根路径我们只需要拼接具体的allure-results所在路径即可。例如git_clone_0.git_path /outputs/report/allure_results。
这个节点会自动调用allure生成allure html测试报告并将报告压缩成.zip文件返回.zip文件路径.zip文件中含有一个.bat文件在windows环境下可以不安装allure直接双击打开查看报告。
2.5 添加新建GitLink疑修节点
这里我需要该节点的作用在于将allure html报告的压缩包上传到仓库的疑修获取疑修的链接作为测试运行结果发送到钉钉。 因为钉钉机器人不能直接发送压缩包文件所以曲线救国发送疑修链接如果需要查看测试报告可以点击疑修链接后下载测试报告查看。
该节点有以下参数
GitLink平台域名一般为https://gitlink.org.cn/GitLink仓库拥有者标识/仓库标识可以在GitLink访问某个需要新增疑修的项目代码库页面参考格式floraachy/gitlink_testGitLink平台账号登录GitLink平台的账号需要通过密钥管理进行管理防止暴露GitLink平台密码登录GitLink平台的密码需要通过密钥管理进行管理防止暴露疑修指派负责人id: Gitlink项目成员的user_id 不需要指派的情况下可以留空[]疑修Issue标题疑修的标题例如allure html报告生成啦/ 自动化测试完成了可自定义疑修Issue内容疑修内容可自定义疑修Issue附件这里可以上传allure html报告的压缩包点击右侧参数allure_html报告生成allure-report压缩的zip包路径即可一般情况下是这样的格式allure_html_report_0.allure_report_path 不需要引号 2.6 添加钉钉通知节点
前提首先我们需要在钉钉上配置一个钉钉机器人 获取钉钉机器人的webhook地址具体配置参考使用钉钉机器人发送消息至钉钉
我这里添加的钉钉节点是发送markdown格式的钉钉消息。
需要注意几个参数
展示内容收到钉钉消息首屏会话会透出的内容markdown消息内容消息的具体内容markdown格式提醒列表需要艾特的用户id或者手机号是否艾特所有人
最后我们添加一个结束节点整个流程就串起来了。 2.7 设置任务触发器
我们知道jenkins里面也是有触发器的可以设置每周或者每天什么时间点自动运行流水线。 或者检测到当前代码仓库有指定事件就自动触发流水线运行。
GitLink引擎也有这个功能 提供了2类触发器cron, GitLink。
注意任务触发器需要添加在开始节点之前。
2.7.1 第一类触发器cron
这个添加完成后看具体的说明就可以了挺简单的。
2.7.2 第二类触发器GitLink
这个触发器是检测当前仓库是否有这三类事件触发推送代码/合并请求/创建标签一旦这3类事件发生就会自动触发流水线的运行。
三、流水线示例
注意我这个流水线跟上述讲解的有细微差别。因为有些我是已经在自动化测试代码里面实现了所以对应节点我就忽略了。
代码流水线参考
version: 2
name: UI_playwright_图形流水线
description:
global:concurrent: 1cache: path
trigger:type: cronschedule: 0 0 1 ? * FRI
workflow:- ref: git_clone_0name: git clonetask: git_clone1.2.9input:remote_url: https://gitlink.org.cn/floraachy/uiautotest_playwright.gitref: refs/heads/mastercommit_id: depth: 1needs:- start- ref: shell_0name: shellimage: mcr.microsoft.com/playwright/python:v1.38.0-focalenv:PROJECT: git_clone_0.git_pathscript:- apt update- apt install -y openjdk-8-jdk-headless- apt install -y unzip- cd $PROJECT/lib/allure-2.22.0/bin- chmod x allure- ls -l- cd $PROJECT- pip install pipenv- pipenv install --python 3.8 --skip-lock- pipenv run playwright install- pipenv run python run.pyneeds:- git_clone_0- ref: endname: 结束task: endneeds:- dingtalk_notice_markdown_0- ref: startname: 开始task: start- ref: dingtalk_notice_markdown_0name: 钉钉通知-markdowntask: dingtalk_notice_markdown1.0.2input:boot_webhook_url: ((dingbot.webhook_url))secret: ((dingbot.secret))msg_title: UI自动化测试已完成!msg_text: extract_txt_0.result \n复制链接打开查看详细测试报告 new_gitlink_issue_0.issue_linkat_user_ids: []at_mobiles: []needs:- new_gitlink_issue_0- ref: extract_txt_0name: 文本内容提取task: floraachy/extract_txt2.0input:file: git_clone_0.git_path /outputs/report/test_result.txtneeds:- shell_0- ref: new_gitlink_issue_0name: 新建GitLink疑修Issuetask: floraachy/new_gitlink_issue1.0.1input:host: https://gitlink.org.cnproject_url: floraachy/uiautotest_playwrightusername: ((gitlink.username))password: ((gitlink.password))issue_assign: [87611]issue_title: UI自动化测试报告issue_content: issue_attach: git_clone_0.git_path /outputs/report/autotest_report.zipneeds:- extract_txt_0