本文章介绍 sonar 自定义扫描配置,扫描通过网关,设置需要的扫描规则,编写 xpath 扫描规则。
一、登录
1.打开 http://sonarqube.ijunhai.com:9000
2.使用 admin,admin 登录
二、新建规则配置
1.Quality Profiles>筛选 python>下拉选项选择 copy
2.输入规则配置名称,完成
3.查看规则组里的规则,不需要的规则 deactive 掉
三、定制通过网关
1.Quality Gates>copy
2.定制通过条件
3.定制要控制的 project
四、增加自定义 rule
以 python 为例,先写 xpath 的扫描规则,接着在 sonar 页面新增 rule,把 xpath 扫描规则加入到 sonar 系统。(官网教程https://docs.sonarqube.org/display/DEV/Adding+Coding+Rules+using+XPath)。
1.下载 sslr python toolkit ,下载地址 http://everycoding.com/maven2/org/codehaus/sonar-plugins/python/sslr-python-toolkit.html
2.下载完成后,执行 java -jar sslr-python-toolkit-1.1.jar,打开 toolkit 编写 xpath 面板。
3.toolkit 介绍如下图
4.xpath 实例
不允许没判断对象是否存在就直接 click 操作
不规范语句:el.click()
对应 xpath://power[trailer[@tokenValue='.'][name[@tokenValue='click']] and trailer[@tokenValue='('] and count(*)=3]
注意:xpath 只能根据规则找出对象,而无法找到一个对象判断里面不含某些内容。具体 xpath 规则有待深入研究。
5.把 xpath 加到 sonar 服务器,rules>勾选 python>Template>Show Templates Only
这里不能选错语言模版,选错等会儿 profile 无法选择自定义的规则。
create 自定义规则
6.创建完自定义规则后,》Quality Profiles》active more rule》找到自定义的规则》active