sonarQube自动化测试之sonar-runner进行测试

                                                                                                                                                                             在网上看了许多sonarQube的教程,首先这里向大家说明下两者的关系 sonarQube是一个(代码质量管理平台)开源平台,用于管理Java源代码的质量,通俗点说个人认为其实类似于一个服务器,就像Tomcat或者是JBOSS一样. 用服务器这个空架子肯定不能进行检测代码,而sonar-runner相当于是在这个平台下测试的一个扫描代码的工具,两者配合着使用才能进行通用的自动化测试(适合任意工程使用,maven工程和ant工程也同样适用)另有其他几种情况,以后在慢慢陈述,开始进入正题,即怎么样进行测试 .

在这里提出些建议:无论遇到什么问题,我们从这是什么,为什么,怎么用切入问题的话,看待事物的角度就会加深一层。

以测试环境 win7 32/64

准备条件:jdk环境,1.5以上版本,已有的数据库(oracle,mysql,sqlserver等)

测试 :

步骤1:安装sonarQube

首先解压sonarQube到任意目录(目录不要有中文)

eg:

这里我用的是5.1.1版本,该版本的链接地址为: http://www.sonarqube.org/downloads/,

这里官网已经更新到了5.1.2版本,


sonarQube是不需要进行环境变量配置的,只需要将其解压到指定目录即可,并且是免安装的,直接就可以使用,根目录下的bin目录进入后选择相应的操作系统和位数,进入后点击StartSonar.bat运行服务.这里运行前必须装好jdk,如果出现无法启动服务,命令行出现wrapper stopped的情况,那么重启电脑,一般就会解决,启动后在服务器上输入localhost:9000(sonarQube的默认端口号) 点击login,默认账户名和密码为 admin和admin.进入如果出现这个页面就说明sonarQube平台启动成功了.(这里小编已经把原有的英文替换成了中文,大家第一次进入时中文的哦),中文需要在官网下载插件进行安装或者是在线安装.



在线安装的方式是:

settings(配置)-update center(升级中心)-available plugins(可用插件)-localization(本地化)-选择Chinese Pack,点击就会出现install按钮,点击安装,重启sonarQube之后就是中文了.



进去后在配置sonarQube的配置,配置文件在sonarQube安装目录下的conf目录,进入后点击sonar.properties,进行编辑

这里填写四个值,分别是

sonar.jdbc.username=root   //数据库用户连接名
sonar.jdbc.password=hehaoyu //数据库连接密码

sonar.jdbc.url=jdbc:mysql://localhost:3306/oa?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance//数据库链接

sonar.jdbc.driverClassName: com.mysql.jdbc.Driver //数据库驱动


  注意:在sonarQube当中需要注意的是如果是Oracle数据库的话需要添加oracle jdbc的jar包,其它sonarQube是自带的,不用添加,Oracle的jar包在这个目录下

         


     步骤2:安装sonar-runner

相同的方法解压sonar-runner到指定的任意目录,目录也不要有中文,同样也是免安装

链接地址:http://www.sonarqube.org/downloads/


这里,sonar-runner需要配置环境变量,声明一个SONAR_RUNNER_HOME的变量名,变量值就是sonar-runner的安装目录,在这里我的变量值就是 D:\sonar-runner-dist-2.4\sonar-runner-2.4,大家对应自己的目录修改,然后再Path变量名下加入值%SONAR_RUNNER_HOME%\bin(注意变量值要用分号 ; 隔开)

然后配置sonar-runner的配置文件

点击sonar-runner目录下的conf,编辑sonar-runner.properties

sonar.host.url=http://localhost:9000 sonar本地ip地址

sonar.jdbc.url=jdbc:mysql://localhost:3306/oa?useUnicode=true&characterEncoding=utf8  Mysql本地链接地址

sonar.jdbc.username=root 数据库连接账号
sonar.jdbc.password=hehaoyu
   数据库连接密码

sonar.login=admin sonarQube平台登录账号
sonar.password=admin
   sonarQube平台登录密码

步骤3:在想测试的任意一个在工程根目录下新建立一个sonar-project.properties配置文件

里面写上:

# Required metadata

sonar.projectKey=Monkey

sonar.projectName=Monkey

sonar.projectVersion=15.07.28(建议版本号采用这种格式)

# Comma-separated paths to directories with sources (required)

sonar.sources=src

sonar.binaries=build (当时我写的是这样(build\classes\)结果报错了,如果只写上build目录则不会报错)


# Language

sonar.language=java

# Encoding of the source files

sonar.sourceEncoding=UTF-8

说明:sonar.projectKey=Monkey

projectKey与projectName和工程名字一样也行,projectKey和projectName不一样也可以,写成一样目的在于好区分

sources为源码目录

build为编译后的classes目录,sonar会自动遍历所有目录

language为分析的语言

sourceEncoding源码编码格式

步骤4:执行命令行,生成结果


OA5就是当前项目的根目录

先让命令行进入到指定项目的目录下,然后执行sonar-runner命令

(特别注意:由于命令这一形式建的多了,所以习惯性的把sonar-runner写成了 sonar -runner,中间多了一个空格,当时我一直没看出来是什么原因,sonar-runner一定是紧挨着呢)

成功则会显示

重新登录到sonarQube主页上,你会发现右边多了一个项目的分析结果


下面就是我们想要的分析结果


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章