Jenkins集成质量门禁(sonar、代码覆盖率、接口&UI自动化)

  1. 研发提交代码到gitlab的测试分支

  2. gitlab触发webhook请求,Jenkins监听到webhook请求,Jenkins通过shell命令部署服务(java -javaagent:jacocoagent.jar -jar 项目.jar)

  3. Jenkins触发sonar扫描、接口&UI主流程场景自动化回归

  4. 如果执行后有失败case,测试分支回滚到上一版本,并发送钉钉和邮件通知新提交的代码有问题

  5. 如果执行后均通过,发送钉钉和邮件通知测试人员,新版本可以进入测试

  6. 在第二天凌晨2点,Jenkins自动执行定时任务收集服务的代码覆盖率情况,通过jacoco的dump和report命令来收集

  7. 通过BeautifulSoap来读取各个服务的代码覆盖率,代码大致如下:

from bs4 import BeautifulSoup

# 读取HTML文件内容
with open('/Users/zhangjiangying/Downloads/jacoco-0.8.9/lib/report01/index.html', 'r') as file:
    html_content = file.read()

# 使用BeautifulSoup解析HTML内容
soup = BeautifulSoup(html_content, 'html.parser')

# 查找指定的<td>标签
td_tag = soup.find('td', {'id': 'c0', 'class': 'ctr2'})

# 提取<td>标签中的文本内容,转换为字符串
coverage_percentage = str(td_tag.text)

print(coverage_percentage)

结果是86%

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容