八:jmeter指令碼整合到jenkins平臺,和ant中的build.xml檔案程式碼
1.寫好jmeter指令碼 xxxx.jmx
2.寫好ant外掛的build.xml指令碼,如下:
Ant這個外掛可能是我們最為經常使用的,若構建指令碼是使用build.xml的,那構建引擎肯定會選擇ant。
因此編譯打包我都選擇了ant進行。通過master-slaver這種模式,通常需要將構建指令碼拷貝到slaver機器上,因此有時需要更改一下build.xml中的一些內容就比較麻煩,需要在slaver機器上面去更改。為了方便配置管理人員可以直接在jenkins job配置管理頁面進行更改,因此將build.xml中一些需要更改的內容按照ant的property target進行引數化。
ant本身還有一個propertyfile的target,如下面程式碼所示:
<?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-test" default="all" basedir="."> <tstamp> <format property="time" pattern="MM-dd-hh-mm" /> </tstamp> <!-- 需要改成自己本地的 Jmeter 目錄--> <property name="jmeter.home" value="${jmeter.home}" /> <property name="jmeter.dir" value="${jmeter.dir}"/> <!--"C:\Program Files (x86)\Jenkins\workspace" /--> <!-- jmeter生成jtl格式的結果報告的路徑--> <property name="jmeter.result.jtl.dir" value="${jmeter.result.jtl.dir}" /> <!-- jmeter生成html格式的結果報告的路徑--> <property name="jmeter.result.html.dir" value="${jmeter.result.html.dir}" /> <!-- 生成的報告的字首--> <property name="ReportName" value="TestReport" /> <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" /> <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" /> <!-- 接收測試報告的郵箱--> <!-- <property name="mail_to" value="
[email protected]" /> --> <!-- 電腦地址 --> <!-- <property name="ComputerName" value="gxx" /> --> <target name="all"> <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.jtl.dir}/${ReportName}${time}.jtl"> <!-- 宣告要執行的指令碼。"*.jmx"指包含此目錄下的所有jmeter指令碼--> <testplans dir="${TestScript-path}" includes="${TestScript}" /> <property name="jmeter.save.saveservice.output_format" value="xml"/> </jmeter> </target> <target name="report"> <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp> <xslt classpathref="xslt.classpath" force="true" in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl"> <param name="dateReport" expression="${report.datestamp}"/> </xslt> <!-- 因為上面生成報告的時候,不會將相關的圖片也一起拷貝至目標目錄,所以,需要手動拷貝 --> <copy todir="${jmeter.result.html.dir}"> <fileset dir="${jmeter.home}/extras"> <include name="collapse.png" /> <include name="expand.png" /> </fileset> </copy> </target> <path id="xslt.classpath"> <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/> <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/> </path> </project>
每個key-value對都通過屬性值對應起來。
3.配置jenkins平臺,新建任務,如下面的流程
1. 新建任務>>>(通過複製之前的專案快速)構建新專案
http://localhost:108/
2. 配置>>>修改general模組下的字元引數
1.jmeter.result.jtl.dir----生成的jtl存放地址
D:\Jmeter\jenkins-2.104install-file\workspace\ Dishui\jtl)
2. jmeter.result.html.dir----生成的jenkins report html存放地址
D:\Jmeter\jenkins-2.104install-file\workspace\ Dishui\html>>這裡是為了jenkins生成report)
3. jmeter.result.html.dir2----生成的html存放地址
D:\Jmeter\jenkins-2.104install-file\workspace\ Dishui\html2
4. TestScript-path----測試的指令碼路徑
D:\Documents\Desktop\gxx-資料\14.Jmeter\jmeter&excel介面自動化\script
4. TestScript ----測試的指令碼檔名稱
介面自動化指令碼模板.jmx
3.配置>>>修改構建模組下的ant-build.xml路徑(這裡,每一次build.xml都要和測試指令碼放在一起)
4.配置>>>修改構建後操作模組—html report的生成路徑(html檔名要和build.xml檔案裡的檔名保持一致)
4.新專案新建號以後,開始構建
5.檢視控制檯和HTML report,檢視執行結果
備註:郵件部分的程式碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次構建日誌-地稅新版1</title>
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
offset="0">
<table width="95%" cellpadding="0" cellspacing="0"
style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
<td>(本郵件是程式自動下發的,請勿回覆!)</td>
</tr>
<tr>
<td><h2>
<font color="#0000FF">構建結果 - ${BUILD_STATUS}</font>
</h2></td>
</tr>
<tr>
<td><br />
<b><font color="#0B610B">構建資訊</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>專案名稱 : ${PROJECT_NAME}</li>
<li>構建編號 : 第${BUILD_NUMBER}次構建</li>
<li>觸發原因: ${CAUSE}</li>
<li>構建日誌: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
<li>構建 Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>
<li>工作目錄 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
<li>專案 Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
</ul>
</td>
</tr>
<tr>
<td><b><font color="#0B610B">Changes Since Last
Successful Build:</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>歷史變更記錄 : <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a></li>
</ul> ${CHANGES_SINCE_LAST_SUCCESS,reverse=true, format="Changes for Build #%n:<br />%c<br />",showPaths=true,changesFormat="<pre>[%a]<br />%m</pre>",pathFormat=" %p"}
</td>
</tr>
<tr>
<td><b>Failed Test Results</b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td><pre
style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">$FAILED_TESTS</pre>
<br /></td>
</tr>
<tr>
<td><b><font color="#0B610B">構建日誌 (最後 100行):</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<!-- <tr>
<td>Test Logs (if test has ran): <a
href="${PROJECT_URL}ws/TestResult/archive_logs/Log-Build-${BUILD_NUMBER}.zip">${PROJECT_URL}/ws/TestResult/archive_logs/Log-Build-${BUILD_NUMBER}.zip</a>
<br />
<br />
</td>
</tr> -->
<tr>
<td><textarea cols="80" rows="30" readonly="readonly"
style="font-family: Courier New">${BUILD_LOG, maxLines=100}</textarea>
</td>
</tr>
</table>
</body>
</html>
建議參考http://www.cnblogs.com/yangxia-test/p/4354328.html相關推薦
八:jmeter指令碼整合到jenkins平臺,和ant中的build.xml檔案程式碼
1.寫好jmeter指令碼 xxxx.jmx2.寫好ant外掛的build.xml指令碼,如下:Ant這個外掛可能是我們最為經常使用的,若構建指令碼是使用build.xml的,那構建引擎肯定會選擇ant。因此編譯打包我都選擇了ant進行。通過master-slaver這種
Jenkins+Jmeter、jmeter指令碼執行執行失敗,jenkins構建成功
搭建了一套介面自動化環境,一鍵構建執行介面指令碼,生成測試報告,失敗情況下,傳送郵件通知相關人員。基本思路是這樣的,但是,遇到了一個問題,瀏覽測試報告格式及檢視相關內容是否正確的過程中,發現有測試用例failure的情況,並沒有傳送郵件給相關人員。1、查詢問題檢視jmeter
SparkStreaming(9):例項-Streaming整合Spark SQL,進行wordcount功能
1.功能實現 綜合Spark Streaming和Spark SQL,進行word count的統計。核心理解DStream和RDD相互操作,需要通過使用foreachRDD這個API。 2.程式碼 package Spark import or
效能測試八:jmeter進階之beanshell
* BeanShell是一種完全符合Java語法規範的指令碼語言,並且又擁有自己的一些語法和方法; * BeanShell是一種鬆散型別的指令碼語言(這點和JS類似); * BeanShell是用Java寫成的,一個小型的、免費的、可以下載的、嵌入式的Java原始碼直譯器,
Spring Boot 2.0(八):Spring Boot 整合 Memcached
Memcached 介紹 Memcached 是一個高效能的分散式記憶體物件快取系統,用於動態Web應用以減輕資料庫負載。它通過在記憶體中快取資料和物件來減少讀取資料庫的次數,從而提高動態、資料庫驅動網站的速度。Memcached基於一個儲存鍵/值對的hashmap。其守護程序(daemon )是用C寫的,但
效能測試十八:jmeter分散式
一臺壓力機產生得壓力是有限的,尤其是jmeter,java本來效能就不是很好,併發特別多的時候,jmeter的效能會急劇下降,正常的介面,若單臺壓力機,超過1000併發以後,jmeter的效能就不怎麼行了 所以需要多個壓力機,即多個機器部署jmeter產生壓力 分散
性能測試八:jmeter進階之beanshell
stp 獲取 esp 不用 uid 精簡 response 下載 嵌入 * BeanShell是一種完全符合Java語法規範的腳本語言,並且又擁有自己的一些語法和方法; * BeanShell是一種松散類型的腳本語言(這點和JS類似); * BeanShell是用Jav
(八) 構建dubbo分布式平臺-maven構建ant-framework核心代碼annotatio
springmvc dubbo zookeeper mybatis j2ee 上一篇我們介紹《構建dubbo分布式平臺-maven構建ant-framework框架的pom.xml文件配置》,子項目的基礎框架已經構建完成,今天重點講解的是ant-framework核心代碼的編寫過程。 其中
第一篇:UE4如何輸出全景圖,和自定義截圖
首先,向大家介紹一下UE4的兩種輸出全景圖的方法,一種是利用UE4自帶的輸出外掛,一種是NVIDIA的外掛 一、UE4自帶外掛 1、開啟Edit——>Plugins,選擇Stereo Panoramic Movie Capture外掛匯入 2、執行專案,
雲棲專輯 | 阿里開發者們的第3個感悟:從身邊開源開始學習,用過才能更好理解程式碼
2015年12月20日,雲棲社群上線。2018年12月20日,雲棲社群3歲。 阿里巴巴常說“晴天修屋頂”。 在我們看來,寒冬中,最值得投資的是學習,是增厚的知識儲備。 所以社群特別製作了這個專輯——分享給開發者們20個彌足珍貴的成長感悟,50本書單。 多年以後,再回首2018-19年,留給我們自
Jmeter+Ant執行build.xml常見錯誤:前言中不允許有內容
build.html<?xml version="1.0" encoding="UTF-8"?><project name="ant-jmeter-test" default="run" basedir='.'> <tstamp>
java中解析xml檔案的五種常見方法:DOM4J,dom,pull,SAX,Jdom
package com.zhidi.dom4jtest; import java.io.File; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import or
高校人工智慧教育需要中國專屬的資料科學平臺,和鯨科技K-Lab為此而生
第四次工業革命正在來臨,人工智慧已經從科幻逐步走入現實。自從2016年AlphaGo戰勝李世石後,全球對於人工智慧發展的興奮與擔憂交織難分。即使如此,世界各國已經認識到人工智慧是未來國家競爭的關鍵賽場,紛紛開始部署人工智慧發展戰略,以期佔領新一輪科技革命的歷史高點。對於中國而言,人工智慧的發展是一個
python練習:假設s是一個字串,返回s中十進位制數字之和。例如,如果s是‘a2b3c’,則返回5。
python練習:假設s是一個字串,返回s中十進位制數字之和。例如,如果s是‘a2b3c’,則返回5。 重難點:字串轉化為字元序列。in的多種應用。try-except程式碼塊的使用。 1 print("————————————————————————————") 2 def sumDigits
easyui行編輯:利用append row新增行,直接在行中編輯,ajax提交儲存
今天工作用到了easyui行編輯,在這裡總結一下,不會的同學可以看看,順便吐槽一下,網上的很多部落格都是貼上複製的,內容很亂 ,而且看不懂,不知道這些貼上複製的懷的是什麼心,不但沒用,還影響別人搜尋。 呼籲大家在寫部落格的時候認真一些,別隻貼上複製,至少可以自
spring mvc高階篇(八):Spring+SpringMVC+Mybatis整合(採用泛型和註解優化)
8.1整合思路分析 用Spring對MyBatis進行整合,將使得采用MyBatis操作資料庫更加方便和簡單。由於Spring 3的開發在MyBatis 3官方釋出前就結束了,Spring開發團隊不想釋出一個基於非釋出版本的MyBatis的整合支援,因此Spring 3沒有
jenkins安裝,構建第一個工程(更新程式碼到工作空間)
1.安裝jenkins 第一種方式:可以再windows系統通過安裝包的方式直接安裝 第二種方式:下載jenkins.war,在tomcat執行,linux系統和windows系統都
程式設計師面試100題之八:不要被階乘嚇倒(二進位制表示中最低位1的位置 )
http://blog.csdn.net/hackbuteer1/article/details/6690015 階乘(Factorial)是個很有意思的函式,但是不少人都比較怕它,我們來看看兩個與階乘相關的問題: 1、 給定一個整數N,那麼N的階乘N!末尾有多少個0
SpringBoot2 整合 Zookeeper元件,管理架構中服務協調
本文原始碼:GitHub·點這裡 || GitEE·點這裡 一、Zookeeper基礎簡介 1、概念簡介 Zookeeper是一個Apache開源的分散式的應用,為系統架構提供協調服務。從設計模式角度來審視:該元件是一個基於觀察者模式設計的框架,負責儲存和管理資料,接受觀察者的註冊,一旦資料的狀態發生變化,Z
springboot多模組專案,引用子專案的mapper中的xml檔案
springboot多模組專案,引用子專案的mapper中的xml檔案,一直引用不到, 提示: Caused by: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): utopi