整合營銷服務商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          html中需要轉義的字符如何處理

          產(chǎn)生原因:


          我們知道html是如這些標簽包含的格式化文本,當用瀏覽器打開時,瀏覽器內(nèi)部的標簽解釋器把不同的標簽解釋為不同的含義。這時默認所有內(nèi)容都是在標簽之內(nèi)的,標簽本身并不是內(nèi)容。如果內(nèi)容中也有標簽怎么辦?這是個問題嗎?當然。當一個負責講解html是什么的頁面輸出時,html頁面中必然包含有標簽需要輸出顯示,而瀏覽器并不能智能的分清楚哪些是需要解釋哪些不需要。


          解決方法:


          其中一個辦法就是轉義。為了區(qū)分需要解釋和不需要解釋的<>,將不需要解釋的<>用轉義字符代替,html會將它們解釋為<>。和html一樣,其他編程語言也有一些內(nèi)置特殊符號需要用這樣的方法處理,比如php中的$,下面列舉一些:


          如HTML轉義符、java 轉義符、xml 轉義符、 oracle 轉義符、sql 轉義符 、sqlserver 轉義符、php 轉義符、asp 轉義符、vb轉義符、 javascript 轉義符等等,還有網(wǎng)址中的百分號。


          轉義字符串有三部分組成:

          &符號+實體名稱/編號+;符號


          例如,HTML的< >&"?的轉義字符串分別是

          “&lt;”或者“&#60;”

          “&gt;”或者“&#62;”

          “&amp;”或者“&#38;”

          “&quot;”或者“&#34;”

          “&copy;”或者“&#169;”


          在高級編程語言中已經(jīng)將轉義字符的轉義處理做成了函數(shù)。如php中的htmlspecialchars()負責將函數(shù)參數(shù)轉為對應的轉義字符串

          )JavaScript基本組成

          1.1基本語法幾乎所有瀏覽器基本都支持,有專門的機構制定統(tǒng)一標準

          1.2Dom(文檔對象)瀏覽器基本都支持,但有的可能會有差別到時再說(重點)

          1.3Bom(瀏覽器對象)一般功能性的瀏覽器支持這個沒有統(tǒng)一的標準,主要操作如打開關閉瀏覽器窗口,獲取屏幕的分辨率screen,XmlHttpRequest(異步對象)等

          2)JavaScript的語法

          2.1Javascript嚴格區(qū)分變量的大小寫;比如 a與A代表的是兩個不同的變量

          2.2Javascript中聲明變量時只有一個關鍵字var(ES5),Javascript是一個弱類型的編程語言;比如聲明一個變量a var a; a=3(數(shù)值) 或者a="3"(字符串)都是正確的,與C#中的不一樣;每條語句后加分號(分號建議加上)

          如果變量使用前不用var聲明,這樣的變量就變成了“全局變量”

          2.3Javascript中的注釋,與C#的相同 //單行注釋、/* 多行注釋 */

          2.4變量的命名規(guī)則:以字母,下劃線或$開頭,中間可以包括任意的字母,數(shù)字,下劃線或$。(與C#相比變量命名中多了一個$)

          2.5JavaScript中即可以使用雙引號或者單引號聲明字符串變量,主要是為了方便和html的兼容,避免轉義符的麻煩

          2.6每次修改過JavaScript中的代碼后直接保存,在瀏覽器中刷新即可

          3)JavaScript代碼

          javascript代碼需要寫在<script></script>標簽中而<script>標簽可以寫在<head>,<body>等任意位置,一個網(wǎng)頁中也可以有多個<script></script>標簽(此標簽最好是成對出現(xiàn))

          <script>標簽標準格式:<script type="text/javascript">js代碼</script>

          如果<script>標簽放到<head>中,則代碼在body加載之前就已經(jīng)運行了;如果寫在body中的<script>是隨著頁面的加載而一個個執(zhí)行的

          如果代碼運行遇到錯誤,有錯誤的<script></script>中的代碼不會執(zhí)行,但也不會影響后面的其他<script></script>中的代碼和html的顯示

          JavaScript代碼可以直接寫在網(wǎng)頁中,也可以將JavaScript代碼寫到單獨的js文件中,其擴展名就是**.js, 寫好此js文件后在頁面中再引入此文件;建議寫在網(wǎng)頁的最后,因為javascript代碼執(zhí)行順序是從上到下依次執(zhí)行,如果引用文件寫在head中很大可能會報錯(操作DOM對象)

          <script src="文件名.js" type="text/javascript"></script> src后面的路徑為相對路徑

          查看javascript代碼

          <!DOCTYPE html>
          <html xmlns="http://www.w3.org/1999/xhtml">
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
              <title>JavaScript</title>
              <script type="text/javascript">
             // javascript代碼    單行注釋
             /* javascript代碼    多行注釋*/
             var a=3;
             alert(a);//彈出對話框
             a="3";
             alert(a);
              </script>    
          </head>
          <body>   
          </body>
          <script src="**.js" type="text/javascript">只能引用文件,不能書寫代碼</script>
          </html>

          alert(a);自己查看彈出的對話框的值

          上一篇:主要介紹線程組、HTTP請求默認值、用戶定義的變量、固定定時器的應用場景及實戰(zhàn)。


          以下主要介紹正則表達式提取器、調(diào)式取樣器(Debug Sampler)、響應斷言、HTTP信息頭管理器的應用場景及實戰(zhàn)。


          一、正則表達式提取器


          1、使用場景


          從請求的響應結果中取到需要的內(nèi)容,作為下一個接口的入?yún)亩鴮崿F(xiàn)關聯(lián)。比如登錄后,用正則表達式獲取token,其他接口攜帶token請求。


          2、正則表達式提取器界面說明


          ①HTTP請求右鍵,依次點擊添加--》后置處理器--》正則表達式提取器。


          ②創(chuàng)建的正則表達式提取器頁面如下:

          APPly to:

          • Main sample and sub-samples: 作用于主節(jié)點的取樣器及對應子節(jié)點的取樣器;
          • Main sample only:僅作用于主節(jié)點的取樣器;
          • Sub-samples only: 僅作用于子節(jié)點的取樣器;
          • JMeter Variable Name to use: 作用于jmeter變量(輸入框內(nèi)可輸入jmeter的變量名稱),從指定變量值中提取需要的值。


          要檢查的響應字段:

          • 主體:響應報文的主體,最常用;
          • Body(unescaped):主體,是替換了所有的html轉義符的響應主體內(nèi)容,注意html轉義符處理時不考慮上下文,因此可能有不正確的轉換,不太建議使用;
          • Body as a Document:從不同類型的文件中提取文本,注意這個選項比較影響性能;
          • 信息頭:響應信息頭;
          • Request Headers:請求信息頭;
          • URL:請求url;
          • 響應代碼: 響應狀態(tài)碼,比如200、404等;
          • 響應信息: 響應信息。


          引用名稱

          提取結果之后的變量名稱,即下個請求需要引用的值,后面引用方式是${變量名}。


          正則表達式

          使用正則表達式解析響應結果,()括號表示提取字符串中的部分值,前后是提取的邊界內(nèi)容。

          一般通用的正則表達式(.+?)。

          如需了解更多關于正則表達式知識,可參照:Python自動化測試-正則表達式解析一文。


          模板:

          如果正則表達式有多個提取結果,則結果是數(shù)組形式。若只有一組表達式,則使用$,兩組正則匹配使用$$,以此類推。


          匹配數(shù)字

          正則表達式匹配數(shù)據(jù)的結果可以看做一個數(shù)組:-1表示全部,0表示隨機,1表示第一個,2表示第二個,依次類推。


          缺省值

          如果參數(shù)沒有取到值,那默認給個值,比如null。


          3、實戰(zhàn)小例子


          提取登錄響應結果的token:

          ①創(chuàng)建一個線程組。

          ②創(chuàng)建一個HTTP請求,用來發(fā)送登錄請求,登錄接口請求參數(shù)配置如下。


          ③HTTP請求,右鍵,創(chuàng)建一個正則表達式提取器。

          先來看下登錄接口返回結果:

          {
              "data": {
                  "mobile": "12345678",
                  "id": 500,
                  "rid": 0,
                  "email": "adsfad@qq.com",
                  "username": "admin",
                  "token": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjUwMCwicmlkIjowLCJpYXQiOjE1OTA5MDY3MzAsImV4cCI6MTU5MDk5MzEzMH0.M3CWrgsDUMvnhkprQMBJ1wWY5OKO-mKiOD4EJ2YV4zc"
              },
              "meta": {
                  "msg": "登錄成功",
                  "status": 200
              }
          }

          正則表達式提取token,配置如下:


          ④創(chuàng)建一個察看結果樹,運行后,接口返回如下:


          二、調(diào)式取樣器

          (Debug Sampler)


          1.使用場景


          主要用于打印出變量進行調(diào)試。比如上面例子,雖然用正則表達式提取了token,但我們并不知道token是否有正確提取,可以使用調(diào)式取樣器查看。


          2.調(diào)試取樣器界面說明


          ①線程組右鍵,依次點擊添加--》取樣器--》Debug Sampler。


          ②調(diào)式取樣器界面如下:

          有三個參數(shù)Jmeter 屬性,選項值默認即可。

          Jmeter 屬性,系統(tǒng)屬性,一般不會變,不需要調(diào)試。

          Jmeter 變量調(diào)試的是Jmeter中自定義的變量,包含如下這些自定義變量:

          • 選中線程組,右鍵,添加--配置元件—用戶定義的變量;
          • 通過后置處理器生成的變量:Jmeter關聯(lián);
          • 使用csv參數(shù)化的變量:Jmeter參數(shù)化。


          3.實戰(zhàn)小例子


          ①創(chuàng)建線程組、HTTP請求、正則表達式提取器、察看結果樹(介紹正則表達式實戰(zhàn)例子有,這里省略創(chuàng)建步驟)。


          ②創(chuàng)建調(diào)式取樣器(debug sampler),不需要修改,默認即可。


          ③運行,在察看結果樹中,選擇調(diào)試取樣器,可以看到token已經(jīng)正常獲取到。

          注意:一般來說調(diào)式取樣器(debug sampler)用于自測使用,上線時可以刪除。


          三、響應斷言


          1.使用場景


          在接口測試過程中,需要判斷接口返回結果是否正確。


          2.響應斷言界面說明


          ①HTTP請求,右鍵,依次選擇添加--》斷言--》響應斷言。


          ②響應斷言界面如下:

          Apply to:

          • Main sample and sub-samples 范圍包括主取樣器與所有子取樣器。
          • Main sample only 范圍僅限于主取樣器。
          • Sub-samples only 范圍僅限于所有子取樣器。
          • JMeter Variable Name to use 范圍包括使用的Jmeter變量。


          測試字段:

          響應文本:響應正文。(常用)。

          響應代碼:響應狀態(tài)碼,比如200、304、404等。

          響應信息:響應消息。,比如OK、Not Modified、Not Found等。

          響應頭:響應請求頭。

          請求頭:請求頭。

          URL樣本:請求的url。

          文檔(文本):從各種類型的文檔中提取文本。此選項開啟也會嚴重影響性能,謹慎使用。

          忽略狀態(tài):忽略響應狀態(tài)。

          請求數(shù)據(jù):請求的body內(nèi)容。


          模式匹配規(guī)則:

          包括:如果文本包含正則表達式模式,則為true。

          匹配:如果整個文本與正則表達式模式匹配,則為true。

          相等: 如果整個文本等于模式字符串(區(qū)分大小寫),則為true。

          字符串:如果文本包含模式字符串(區(qū)分大小寫),則為true。

          否:對斷言結果進行否定。

          或者:將多個測試模式以邏輯“或”組合起來。


          3.實戰(zhàn)小例子


          ①創(chuàng)建線程組、HTTP請求、正則表達式提取器、察看結果樹(上面實戰(zhàn)例子有寫,這里省略創(chuàng)建)。


          ②HTTP請求右鍵,創(chuàng)建一個響應斷言。我們再來看下響應結果的信息:

          {
              "data": {
                  "mobile": "12345678",
                  "id": 500,
                  "rid": 0,
                  "email": "adsfad@qq.com",
                  "username": "admin",
                  "token": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjUwMCwicmlkIjowLCJpYXQiOjE1OTA5MDY3MzAsImV4cCI6MTU5MDk5MzEzMH0.M3CWrgsDUMvnhkprQMBJ1wWY5OKO-mKiOD4EJ2YV4zc"
              },
              "meta": {
                  "msg": "登錄成功",
                  "status": 200
              }
          }

          斷言的方式可以多種,比如斷言msg、status或者msg、status一起斷言,甚至你用其他返回的字段也是可以的。

          這里我們用msg斷言,配置如下:


          ③運行后,如斷言失敗,在察看結果樹里http請求會紅色顯示。


          四、HTTP信息頭管理器


          1.使用場景


          在接口測試中,有時候需要攜帶請求頭,比如接口需要攜帶token進行請求,token需要放在請求頭里。


          2.HTTP信息頭管理器界面說明


          ①線程組,右鍵,依次點擊添加--》配置元件--》HTTP信息頭管理器。


          ②HTTP信息頭管理器界面如下:

          HTTP信息頭管理器比較簡單,直接添加請求頭信息的鍵值對就可以。


          3.實戰(zhàn)小例子


          ①創(chuàng)建線程組、HTTP請求、正則表達式提取器、察看結果樹、響應斷言(上面實戰(zhàn)例子有寫,這里省略創(chuàng)建步驟)。


          ②線程組下,新建一個HTTP消息頭管理器。

          在上面介紹正則表達式提取器,我們已經(jīng)將登錄后的token用正則提取出來了,這里直接引用,相當于全局設置了token,其他接口請求時會自動在請求頭帶上token。

          在HTTP信息頭管理器引用token如下:


          ③線程組右鍵,新建一個http請求,用于請求用戶數(shù)據(jù)列表接口。


          ④運行后,發(fā)現(xiàn)用戶數(shù)據(jù)列表接口在請求頭自動攜帶了token。


          總結:本文主要介紹正則表達式提取器、調(diào)式取樣器(debug sampler)、響應斷言、HTTP信息頭管理的應用場景及實戰(zhàn)。


          今日問題

          你在使用Jmeter過程中,常用的元件或插件有哪些?


          主站蜘蛛池模板: 少妇无码AV无码一区| 国产情侣一区二区三区| 亚洲国产日韩在线一区| 色国产精品一区在线观看| 美女福利视频一区| 精品无码国产AV一区二区三区| 亚洲一区二区三区免费观看| 亚洲精品国产suv一区88| 国产成人综合亚洲一区| 国模私拍一区二区三区| 日本精品夜色视频一区二区| 国产福利电影一区二区三区,亚洲国模精品一区| 免费国产在线精品一区| 亚洲福利秒拍一区二区| 亚洲一区视频在线播放| 国产一区二区三区日韩精品| 国内自拍视频一区二区三区 | 亚洲av乱码中文一区二区三区| 亚洲AV噜噜一区二区三区| 国产精品乱码一区二区三区| 免费看AV毛片一区二区三区| 精品亚洲一区二区三区在线播放| 国精产品一区一区三区有限公司| 日本高清不卡一区| 无码精品一区二区三区| 国产综合一区二区| 日本一区二区三区不卡视频| 久久人妻无码一区二区 | 一区二区三区中文字幕| 99久久综合狠狠综合久久一区| 久久精品综合一区二区三区| 亚洲sm另类一区二区三区| 无码人妻品一区二区三区精99| 天堂不卡一区二区视频在线观看| 一区二区三区观看免费中文视频在线播放 | 久久久综合亚洲色一区二区三区| 午夜福利一区二区三区高清视频| 亚洲第一区二区快射影院| 亚洲AV无码一区二区三区国产| 无码人妻精品一区二区三区99仓本| 国产在线精品一区二区三区直播|