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主頁上,你會發現右邊多了一個項目的分析結果


下面就是我們想要的分析結果


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