修改時間css |
修改內容html |
修改人前端 |
2016.5.22node |
建立mysql |
劉永志git |
2016.6.15sql |
完成數據庫 |
劉永志apache |
當選擇這套方案的時候,不少人會問,爲何選擇Jmeter作Case管理?爲何不本身寫框架?說實話,本身寫框架有很大優點,好比易於拓展,易於定製。Testhome上也有不少很牛逼的框架,看着就讓人流口水的。不少大公司都是本身寫的框架,有WEB界面(我對界面有偏心),有簡潔的Case編寫方式,有很好用的錄製方法…以致於我曾經也嘗試寫過一個(Java+Testng執行+Xml管理Case),可是過程很坎坷,遇到了不少坑(技術積累不足是很重要的一方面)。例如編寫Case的時候調試很麻煩,後續拓展須要不斷維護(不斷封裝新的參數獲取方法)等等。因此,最終選擇了它,你們能夠本身嘗試體會下。編程
Jmeter的插件安裝很簡單,只須要下載對應插件解壓便可。
ps:數據庫連接驅動若是須要須要專門下載,例如mysql須要jdbc的jar包,地址:http://dev.mysql.com/downloads/file/?id=462850
Jmeter的用例格式爲jmx文件,實際爲xml格式,感興趣能夠學習下本身定製生成想要的jmx文件。
${jmeterhome}/bin/jmeter.profile
去掉註釋(#),修改csv爲xml
根據想要保存的參數修改,若不會可參照後文第三方模板網址給出的參數修改。
修改後別忘記去掉註釋(#)
Jenkins插件安裝方法本文不作介紹,感興趣的能夠查資料學習下。
#See the license for the……
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_31
Export JENKINS_HOME="/root/.jenkins"
目錄下
HTML Publisher Plugin 插件在新的Jenkins版本中會致使打開的網頁中沒法加載CSS以及沒法點擊按鈕的狀況,因爲CSP致使,可在Jenkins控制檯中執行:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")以解決此問題。其餘因爲CSP緣由致使的html插件也可用此方法解決。
cd /root vim .netrc 添加配置以下: machine git服務器路徑 login git帳號 password git密碼 |
jenkins——系統設置——高級
Ant的具體使用方法本文不詳細介紹,感興趣能夠本身閱讀相關資料學習一下。
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir="."> <!-- 須要改爲本身本地的 Jmeter 目錄--> <property name="jmeter.home" value="/home/apache-jmeter-2.13" /> <!-- jmeter生成jtl格式的結果報告的路徑--> <property name="jmeter.result.jtl.dir" value="/root/.jenkins/jobs/ApiTest/workspace/report/jtl" /> <!-- jmeter生成html格式的結果報告的路徑--> <property name="jmeter.result.html.dir" value="/root/.jenkins/jobs/ApiTest/workspace/report/html" /> <!-- 生成的報告的前綴--> <property name="ReportName" value="TestReport" /> <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/report.jtl" /> <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/index.html" /> <property name="lib.dir" value="${jmeter.home}/lib"/>
<path id="xslt.classpath"> <fileset dir="${lib.dir}" includes="xalan*.jar"/> <fileset dir="${lib.dir}" includes="serializer*.jar"/> </path>
<target name="run"> <antcall target="test" /> <antcall target="report" /> </target>
<target name="test"> <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /> <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> <!-- 聲明要運行的腳本。"*.jmx"指包含此目錄下的全部jmeter腳本--> <testplans dir="/root/.jenkins/jobs/ApiTest/workspace/jmx" includes="*.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter> </target>
<target name="report"> <xslt classpathref="xslt.classpath" force="true" in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-lyz.xsl"> <!-- 由於上面生成報告的時候,不會將相關的圖片也一塊兒拷貝至目標目錄,因此,須要手動拷貝 --> </xslt> <copy todir="${jmeter.result.html.dir}"> <fileset dir="${jmeter.home}/extras"> <include name="collapse.png" /> <include name="expand.png" /> </fileset> </copy> </target> </project> |
關於Case的管理,因測試主要依賴Jmeter+Ant來作,結構以下:
查看響應數據,修改成
,