Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 91精品一区二区三区在线观看,青木玲中文字幕一区二区,国产精品久久久视频

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          用JMeter+ANT進行接口自動化測試,并生成HT

          用JMeter+ANT進行接口自動化測試,并生成HTML測試報告

          伙伴們,用python做接口自動化是不是寫代碼比較繁瑣,而且沒有python代碼基礎的小伙伴根本無從下手對吧!今天我們來學習一下如何使用JMeter工具實現接口自動化測試。


          01 安裝

          1、安裝JDK,配置java環境變量(安裝過程略)

          2、安裝Jmeter(安裝過程略)

          3、安裝ANT

          3.1、下載安裝

          下載地址:http://ant.apache.org/bindownload.cgi

          3.1.1、下載后解壓到指定位置即可,比如:F:\apache-Ant

          3.1.2、將jmeter所在的目錄下extras子目錄里的ant-jmeter-1.1.1.jar復制到ant所在目錄lib子目錄之下,這樣ant運行時才能找到”

          org.programmerplanet.ant.taskdefs.jmeter.JMeterTask”這個類,從而成功觸發JMeter腳本。

          3.2、配置環境變量

          添加環境變量(以windows為例)

          ANT_HOME F:\apache-Ant

          CLASSPATH %ANT_HOME%\lib

          Path %ANT_HOME%\bin

          3.3、驗證安裝結果,命令行輸入ant -version,出現版本信息則安裝成功


          2 ANT與Jmeter

          4.配置ANT與Jmeter的配置文件


          4.1.1、配置ANT配置ant編譯文件build.xml


          拷貝下面的內容與新建的txt文件中,并將此文件改名為:build.xml

          <?xml version="1.0" encoding="utf-8"?><project name="pc" default="all" basedir="F:\apache-jmeter-5.0\jmeterAutoTest">
              <tstamp>
                  <format property="time" pattern="yyyyMMddhhmm" />
              </tstamp>
              
              <property name="jmeter.home" value="F:\apache-jmeter-5.0" />
              
              <property name="jmeter.result.jtl.dir" value="F:\apache-jmeter-5.0\jmeterAutoTest\pc\resultlog\jtl" />
                  
              <property name="jmeter.result.html.dir" value="F:\apache-jmeter-5.0\jmeterAutoTest\pc\resultlog\html" />
              
              <property name="ReportName" value="TestReport" />
            
              <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
              <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${test}${time}.jtl" />
              
              <property name="mail_from" value="xx@163.com" />
              <property name="mail_to" value="xx@qq.com" />
              
               
              <target name="all">
                  <antcall target="test" />
                  <antcall target="report" />
                  <antcall target="send" />
              </target>
              <target name="test">
                  <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
                  <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
                      
                      <testplans dir="F:\apache-jmeter-5.0\jmeterAutoTest\pc\script" />
                  </jmeter>
              </target>
          
              <path id="xslt.classpath">
                  <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
                  <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
              </path>
          
              <target name="report">
                  <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="${time}"/>
              </xslt>
                  
                  <copy todir="${jmeter.result.html.dir}">
                      <fileset dir="${jmeter.home}/extras">
                          <include name="collapse.png" />
                          <include name="expand.png" />
                      </fileset>
                  </copy>
              </target></project>

          4.1.2、修改build.xml文件,按照實際的文件路徑配置好


          4.1.3 、配置jmeter.properties

          配置jmeter報告輸出格式為xml,在jmeter/bin目錄下jmeter.properties文件中修改jmeter.save.saveservice.output_format=csv為jmeter.save.saveservice.output_format=xml,并去掉前面的注釋符號#


          4.1.4、準備測試腳本數據

          新建文件夾pc,pc文件夾分別新建buildfile ,resultlog,script 三個文件夾,buildfile文件夾放入build.xml文件,resultlog里分別新建html,jtl文件夾。


          注:Resultlog


          Html文件夾裝的是ant 轉化后的結果


          Jtl文件裝的是meter生成的結果


          Script:Jmeter執行的腳本


          3 測試報告

          5、打開命令行進行build.xml文件所在的目錄,輸入ant即可生成報告,報告存放在html文件夾里

          生成的測試報告如下

          6、測試報告優化

          用jmeter自帶的測試報告得到的測試報告信息并不是很全,這里參考網上的方法,做一個優化


          6.1.1、下載優化模板jmeter-results-shanhe-me.xsl,拷貝到jmeter的extras目錄中,如C:\apache-jmeter-2.12\extras


          6.2.2、設置測試輸出報告要輸出的內容,同樣在jmeter.properties中,設置需要輸出的內容為true,并去掉前面的注釋符號#,這里全部設置成true


          修改前:

          修改后:

          jmeter.save.saveservice.data_type=truejmeter.save.saveservice.label=truejmeter.save.saveservice.response_code=true# response_data is not currently supported for CSV outputjmeter.save.saveservice.response_data=true# Save ResponseData for failed samplesjmeter.save.saveservice.response_data.on_error=falsejmeter.save.saveservice.response_message=truejmeter.save.saveservice.successful=truejmeter.save.saveservice.thread_name=truejmeter.save.saveservice.time=truejmeter.save.saveservice.subresults=truejmeter.save.saveservice.assertions=truejmeter.save.saveservice.latency=true# Only available with HttpClient4#jmeter.save.saveservice.connect_time=truejmeter.save.saveservice.samplerData=truejmeter.save.saveservice.responseHeaders=truejmeter.save.saveservice.requestHeaders=truejmeter.save.saveservice.encoding=truejmeter.save.saveservice.bytes=true# Only available with HttpClient4
          #jmeter.save.saveservice.sent_bytes=truejmeter.save.saveservice.url=truejmeter.save.saveservice.filename=truejmeter.save.saveservice.hostname=truejmeter.save.saveservice.thread_counts=truejmeter.save.saveservice.sample_count=falsejmeter.save.saveservice.idle_time=true

          6.2.3、設置build文件的報告模板為優化后的模板jmeter-results-shanhe-me.xsl

          6.2.4、按前面的方式再次用ant構建測試,查看優化后的測試報告

          用背景

          之前在LS公司時,產品有多端,要走完一個完整的業務流程,手動測試造數據,總時很麻煩;

          但是UI測試又不是那么的穩定,維護起來效果也不太好;

          所以呢,通過jmeter接口實現業務流程的自動化了,但是CRM并沒有前后端分離,那怎么通過接口來實現呢,當時的處理方法,就是通過jmeter自身的代理,抓包后,處理下相應參數來銜接周邊系統;

          當然,因為要跨端,有些接口headers里面的Content-Type是不一樣的,這樣的話,就要用多線程了,而且前后順序也是有規定的。

          主題分享

          今天要分享的就是,抓包的接口返回的結果是html時,怎么來截取自己想要的內容

          通過抓包的方式,抓過來的接口,有些返回結果是html的;一般簡單的,可以用jmeter自帶的正則表達式匹配出來;但是有些復雜的,甚至要同時取到返回結果的多個值時,貌似就有點力不從心了。

          還好jmeter提供了可以編寫java代碼的beanshell,可以通過后置處理器(BeanShell PostProcessor)來處理,當時用到的代碼如下:

          四月份趕上跳槽高峰期,面試中,接口測試部分的關聯是經常被提及的知識點之一,經常有同學因此錯失良機,“關聯”可謂是重中之重了,今天就寫一篇關于Jmeter關聯的文章,以作備忘。

          所謂關聯,通俗的講,就是一個請求響應的結果作為另一個請求提交的參數, 在接口測試中,當測試一套完整的業務邏輯時,頻繁的需要使用關聯。

          比如電子商城的購物車模塊,需要測試購物車商品的刪除實現,首先,訪問購物車接口,獲取所有的購物信息,然后再取出某一條購物信息的 id,再訪問刪除接口。

          那么,Jmeter 中的關聯是如何實現的呢?Jmeter 中的關聯實現策略不止一種,接下來,我們就通過一個案例給大家演示關聯實現的相關組件。

          需求:兩個http請求,請求A訪問傳智播客官網,請求B訪問百度 ,請求A將傳智播客官網源碼中的 title 標簽的值取出,傳遞給請求B,在請求B中作為關鍵字搜索這個 title 值。

          上述需求實現,大致需要三步:

          1、搭建測試計劃框架,設計取樣器以及結果樹;

          2、將請求 A 中的結果使用 Jmeter 關聯組件進行提取;

          3、將步驟2中提取的結果傳遞給請求B,執行并查看結果。

          接下來,我們就看一下具體實現:

          搭建測試計劃框架,設計取樣器以及結果樹

          這一步應該屬于 Jmeter 的最基本實現,在此就不在贅述了。

          將請求 A 中的結果使用 Jmeter 關聯組件進行提取

          執行該步驟時,我們選用了 Jmeter 的內置組件: XPath 提取器, 該提取器是在對標簽語言執行結果提取時的常見組件實現。

          首先,我們需在在被提取的取樣器上添加該提取器:

          然后,設置提取器的相關屬性(注意:從 html 文檔提取數據,一定要勾選 use tidy)。

          最后,提取器執行時,提取的結果將被賦值給組件中聲明的變量(也即引用名稱 myTitle)。

          將步驟2中提取的結果傳遞給請求B,執行并查看結果

          A中可以提取到傳智播客官網的 title 標簽的值,在請求B 中,直接以QueryString的方式提交數據,然后執行,即可查詢到相關結果了。

          總結

          Jmeter 中XPath 關聯實現,總需三步:

          1.搭建測試計劃框架,編寫取樣器,添加查看結果樹;

          2.添加XPath 提取器按照 XPath 表達式提取數據(提取的數據被保存進了變量);

          3.在需要調用數據的請求中以 ${變量名} 的方式調用提取到的結果。


          主站蜘蛛池模板: 亚洲国产精品第一区二区| 天堂一区二区三区精品| 免费高清在线影片一区| 99久久精品费精品国产一区二区 | 精品久久久久久中文字幕一区| 日韩av片无码一区二区三区不卡| 在线播放国产一区二区三区| 在线精品动漫一区二区无广告| 国产成人精品亚洲一区| 亚洲色精品VR一区区三区| 久久精品一区二区三区日韩| 久久AAAA片一区二区| 一区二区三区杨幂在线观看| 日韩美一区二区三区| 精品少妇人妻AV一区二区| 国产一区二区久久久| 国产精品香蕉在线一区| 亚洲AV成人一区二区三区在线看| 香蕉久久av一区二区三区| 国产suv精品一区二区33| 久久久人妻精品无码一区| 一区二区三区在线播放| 搜日本一区二区三区免费高清视频| 少妇一晚三次一区二区三区| 天堂一区人妻无码| 成人h动漫精品一区二区无码| 国产电影一区二区| 人妻精品无码一区二区三区| 日本无码一区二区三区白峰美| 国产福利91精品一区二区| 一区二区三区无码被窝影院| 日本一区二区三区免费高清| 国产精品一区视频| 精品久久综合一区二区| 一区 二区 三区 中文字幕 | 日本一区二区在线播放| 精品无码国产一区二区三区AV | 国产精品伦一区二区三级视频| 亚洲AV综合色区无码一区爱AV| 男女久久久国产一区二区三区| 国产精品高清视亚洲一区二区|