知識(shí)點(diǎn)總結(jié)

?

一、軟件測(cè)試基礎(chǔ)理論

1.軟件的定義:數(shù)據(jù)和指令

2.軟件的分類:

1) .場(chǎng)景:工具類、游戲、電商、媒體

2) .架構(gòu):

單機(jī)版:不需要聯(lián)網(wǎng)

分布式:需要聯(lián)網(wǎng)

B/S:瀏覽器器/服務(wù)器

C/S:客戶端/服務(wù)器

3.軟件測(cè)試

1.定義:通過(guò)人工或者自動(dòng)化驗(yàn)證實(shí)際結(jié)果與需求是否一致過(guò)程

2.原則

缺陷集群性(28原則)

測(cè)試顯示軟件存在的缺陷

殺蟲(chóng)劑悖(bei)論

測(cè)試活動(dòng)依賴測(cè)試內(nèi)容

沒(méi)有錯(cuò)誤是好謬論

窮盡測(cè)試是不可能的

測(cè)試盡早介入

4.開(kāi)發(fā)模型

1.瀑布流模型

2.快速原型

3.增量模型

4.敏捷開(kāi)發(fā)

5.測(cè)試模型

V模型



W模型



H模型

X模型

6.軟件測(cè)試流程

|階段|產(chǎn)物|

????????????|:-:|:-:|:-:|

|階段? ?|? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 工作內(nèi)容? ? ? ? ? ? ? ? ? ? ? ? |? ? ? ?產(chǎn)物? ? ? ?|

|準(zhǔn)備? ?|? ? ? ? ?立項(xiàng)、需求分析、需求評(píng)審? ? ? ? ? ? ? ? ?|? ?PRD? ? ? ? ? |

|計(jì)劃? ?|? ? ? ? ? ?編寫(xiě)、評(píng)審測(cè)試計(jì)劃? ????????????????????? ? |? ?測(cè)試計(jì)劃? ?|

|設(shè)計(jì)? ?|? ?提取測(cè)試點(diǎn)、編寫(xiě)、評(píng)審測(cè)試用例? ? ? ? ? ? ?|? ?測(cè)試用例? ?|

|執(zhí)行? ?|? ?冒煙測(cè)試、執(zhí)行測(cè)試、提bug、回歸測(cè)試? ?|? ?缺陷報(bào)告? ?|

|完成? ?|? ?驗(yàn)收測(cè)試、編寫(xiě)測(cè)試報(bào)告、項(xiàng)目上線? ? ? ? ? |? ?測(cè)試報(bào)告? ?|

7.軟件測(cè)試分類

1.技術(shù):黑白灰

2.階段:

|階段|產(chǎn)物|

????????????????????????|:-:|:-:|:-:||:-:|

|階段? ?|? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 測(cè)試對(duì)象? ? ? ? ? ? ? ? ? ? ? ? |? ? ? ?測(cè)試人員? ? ? ?|? ? ? ?測(cè)試方法? ? ? ?|

|單元測(cè)試? ?|? ? ? ?? ? ? ? ? ? ? ? ? ? ?? ?一個(gè)模塊、類、方法? ? ? ? ? ? ? ? ? |? ? ????? ? ? 開(kāi)發(fā)/白盒測(cè)試工程師? ????? ? ? ?|? ? ? ? ? 白盒測(cè)試? ? ? ? ?|

|集成測(cè)試? ?|? ?一個(gè)模塊、類、方法組裝成一個(gè)系統(tǒng)或者子系統(tǒng)? ?|? ?????????????開(kāi)發(fā)/白盒測(cè)試工程師? ????? ? ? ?|? ? ?白盒/黑盒測(cè)試? ? ?|

|系統(tǒng)測(cè)試? ?|? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 整個(gè)軟件系統(tǒng)? ? ? ? ? ? ? ? ? ? ? ? ? ? |? ????????? ? ? ?黑盒測(cè)試工程師? ? ? ? ????? ? ? ?|? ? ? ? ? 黑盒測(cè)試? ? ? ? ?|

|驗(yàn)收測(cè)試? ?|? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 整個(gè)軟件系統(tǒng)? ? ? ? ? ? ? ? ? ? ? ? ? ? |? ?黑盒測(cè)試工程師/用戶/老板/經(jīng)理? ? ? ? ?|? ? ? ? ? 黑盒測(cè)試? ? ? ? ?|

3.內(nèi)容

1.功能:UI測(cè)試、冒煙、回歸測(cè)試

2.性能:壓力、負(fù)載、并發(fā)

3.兼容性:

App:Android版本、廠商、屏幕分辨率、屏幕樣式(水滴、劉海、全屏、曲面、折疊)

web:瀏覽器內(nèi)核、版本

4.專項(xiàng)測(cè)試

APP:安裝卸載、升級(jí)、中斷、弱網(wǎng)

二、測(cè)試計(jì)劃

1.模板

1.測(cè)試目的:整體概述、詳細(xì)描述

2.測(cè)試資源:人力資源

? ????????????????????????????|:-:|:-:|:-:|

|姓名? ?|? ? ? ? ? ? ? ? ? ? ? ? ? 職務(wù)? ? ? ? ? ? ? ? ? ? ? ? |? ? ? 崗位職責(zé)? ? ? ?|

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??|? ? ? ? ? ? ?|? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? ? ? ? ? ?|

硬件

? ??????????????????????|:-:|:-:|:-:|:-:|

|名稱? ?|? ? ? ? ? ? ? ? ? ? ? ? ? 配置? ? ? ? ? ? ? ? ? ? ? ? |? ? ? 數(shù)量? ? ? ?|? ? ? 備注? ? ? ?|

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??|? ? ? ? ? ? ?|? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |? ? ? ????????? ? ? |? ? ? ????????? ? ? |

軟件資源

|軟件名稱|? ? ? ? ? ? ? ? ? ? ? ? ? 描述? ? ? ? ? ? ? ? ? ? ? ? |? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??|? ? ? ? ? ? ?|? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |??

網(wǎng)絡(luò)資源

|互聯(lián)網(wǎng) |? ? ? ? ? ? ? ? ? ? ? ? ?局域網(wǎng)? ? ? ? ? ? ? ? ? ? ? ? |

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??|? ? ? ? ? ? ?|? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |??

3.測(cè)試范圍:對(duì)象、特性、非特性

4.測(cè)試風(fēng)險(xiǎn):人資法環(huán)時(shí)+具體項(xiàng)目風(fēng)險(xiǎn)

? ??????????????????????|:-:|:-:|:-:|:-:|:-:|:-:|

|編號(hào)? ?|? ? ? ? ? ? ? ? ?風(fēng)險(xiǎn)描述? ? ? ? ? ?|? ? ? 風(fēng)險(xiǎn)等級(jí)? ? ? ?|? ? ? 責(zé)任人? ? ? ?|? ? ? 影響? ? ? ?|? ? ? 規(guī)避方法? ? ? ?|

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??|? ? ? ? ? ? ?|? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|? ? ? ? ? ? ? ? ? ? ? ? ? ?|? ? ? ? ? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? ? ? ? ? ?|

5.人員分工

|姓名? ? ? ?|? ? ? 職務(wù)? ? ? ?|? ? ? 工作內(nèi)容? ? ? ?|

? ???????????????????????????????????|? ? ? ? ? ????? ? ? ?|? ? ? ? ? ? ? ? ? ?|? ? ? ? ? ? ? ? ? ? ? ? ? ? |

6.測(cè)試策略

功能

接口

界面

兼容性

性能

7.測(cè)試進(jìn)度

|測(cè)試任務(wù)? ?|? ? ? ? ? ? ? ? ?負(fù)責(zé)人? ? ? ? ? ?|? ? ? 預(yù)開(kāi)始時(shí)間? ? ? ?|? ? ? 預(yù)結(jié)束時(shí)間? ? ? ?|? ? ? 進(jìn)度? ? ? ?|? ? ? 備注? ? ? |

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??|? ? ? ? ? ? ?|? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|? ? ? ? ? ? ? ? ? ? ? ? ? ?|? ? ? ? ? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? ? ? ? ? ?|

8.測(cè)試準(zhǔn)則

|階段? ? ? ? |? ?啟動(dòng)準(zhǔn)則? ? |? ?暫停準(zhǔn)則? ?|? ?在啟動(dòng)準(zhǔn)則? ? |? ? ? 結(jié)束準(zhǔn)則? ? ? |

|集成測(cè)試? ? ? |? ? ? ? ? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? ? ?|? ? ? ? ? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? ? |?

|系統(tǒng)測(cè)試? ? ? |? ? ? ? ? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? ? ?|? ? ? ? ? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? ? |?

|驗(yàn)收測(cè)試? ? ? |? ? ? ? ? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? ? ?|? ? ? ? ? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? ? |?

9.測(cè)試輸出

|名稱? ????|? ?負(fù)責(zé)人? ?|? ? ? 路徑? ? ? |

|測(cè)試計(jì)劃? ?|? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? ?|?

|測(cè)試用例? ?|? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? ?|?

|測(cè)試報(bào)告? ?|? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? ?|?

|缺陷報(bào)告? ?|? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? ?|?

2.怎么寫(xiě)

1.設(shè)計(jì)封面:項(xiàng)目名稱、標(biāo)題、版本、表格、組別

2.九大項(xiàng)

3.插入目錄



三、測(cè)試用例

1.等價(jià)類劃分法

1.定義:輸入數(shù)據(jù)分為若干個(gè)區(qū)域,取有代表性的數(shù)據(jù)

2.分類:

1.有效等價(jià)類:合理的數(shù)據(jù)

2.無(wú)效等價(jià)類:不合理的數(shù)據(jù)

2.邊界值分析法:

定義:取稍高于或稍低于邊界的一些數(shù)據(jù)進(jìn)行測(cè)試,使用離點(diǎn)、上點(diǎn)、內(nèi)點(diǎn)確定取值。

3.獲取·:

1.上點(diǎn):邊界點(diǎn)

2.內(nèi)點(diǎn)邊界內(nèi)部的點(diǎn)

3.離點(diǎn):開(kāi)內(nèi)閉外

4.場(chǎng)景法

定義:模擬實(shí)際用戶場(chǎng)景

分類:

1.基本流:正確流程

2.備選流:正確的流程每一個(gè)步驟取反

5.錯(cuò)誤推測(cè)法:

測(cè)試經(jīng)驗(yàn)豐富的人喜歡使用的一種測(cè)試用例設(shè)計(jì)方法。一般這種方法是基于經(jīng)驗(yàn)和直覺(jué)推測(cè)程序中可能發(fā)送的各種錯(cuò)誤,有針對(duì)性地設(shè)計(jì)。只能作為一種補(bǔ)充。

6.因果圖方法:

比較適合輸入條件比較多的情況,測(cè)試所有的輸入條件的排列組合。所謂的原因就是輸入,所謂的結(jié)果就是輸出。5. 場(chǎng)景法:通過(guò)模擬業(yè)務(wù)場(chǎng)景來(lái)對(duì)系統(tǒng)的功能點(diǎn)或業(yè)務(wù)流程的描述,從而提高測(cè)試效果的黑盒測(cè)試方法

7.判定表

8.正交實(shí)驗(yàn)法



發(fā)紅包、朋友圈、水杯、小視頻


四、禪道

1.安裝:下一步

2.使用

1.測(cè)試bug(測(cè)試人員):測(cè)試到提bug

2.解決bug(開(kāi)發(fā)):測(cè)試 到 bug 到 確認(rèn) 到 完成

3.再次測(cè)試(測(cè)試人員):測(cè)試 到 再次測(cè)試 到 如果解決,點(diǎn)擊關(guān)閉,否則重新編輯

五、postman使用(一)

? ? 5.1.1 什么是Postman

? ??????????Postman 提供功能強(qiáng)大的 Web API 和 HTTP 請(qǐng)求的調(diào)試,它能夠發(fā)送任何類型的HTTP 請(qǐng)求

(GET, POST, PUT, DELETE…),并且能附帶任何數(shù)量的參數(shù)和 Headers。而且它還提供測(cè)試數(shù)據(jù)和環(huán)境

配置數(shù)據(jù)的導(dǎo)入導(dǎo)出,付費(fèi)的 Post Cloud 用戶還能夠創(chuàng)建自己的 Team Library 用來(lái)團(tuán)隊(duì)協(xié)作式的測(cè)

試,并能夠 將自己的測(cè)試收藏夾和用例數(shù)據(jù)分享給團(tuán)隊(duì)。

? ??????postman適用于不同的操作系統(tǒng),還支持postman瀏覽器擴(kuò)展程序、postman chrome應(yīng)用程序等。但

是 瀏覽器插件目前Google已經(jīng)停止更新了。

5.2 Postman下載和安裝

5.2.1 Postman的下載

????官網(wǎng)下載: 地址:https://www.getpostman.com/downloads/,選擇頁(yè)面中的“Download”,根據(jù)自己電腦配置, 選擇32位下載還是64位下載

5.2.2 Postman的安裝過(guò)程

? ??????1、雙擊下載好的安裝包

????????2、因?yàn)镻ostman是免安裝的,雙擊安裝包,自動(dòng)安裝到本地電腦中

????????3、查看Postman界面,出現(xiàn)如下圖所示,說(shuō)明安裝成功

????????4、登錄,點(diǎn)擊進(jìn)入workspace頁(yè)面

5.3 Postman主界面的介紹

5.3.1 工具欄

5.4 Postman基本操作

5.4.1 新建測(cè)試集、文件夾、請(qǐng)求用例

????????點(diǎn)擊collections,點(diǎn)擊+,點(diǎn)擊create new collection

????????點(diǎn)擊collection右邊的三個(gè)點(diǎn),點(diǎn)擊add request是添加請(qǐng)求,add folder是添加文件夾

5.4.2 get請(qǐng)求

新建一個(gè)get請(qǐng)求,如圖所示

? ??1.設(shè)置請(qǐng)求方式為get

????2.粘貼網(wǎng)址

? ?3.添加請(qǐng)求參數(shù),參數(shù)添加后會(huì)在url上顯示出來(lái),如圖中所示的?id=1005008&page=1&size=100

????4.如果有請(qǐng)求頭,在請(qǐng)求頭的部分添加,也是鍵值對(duì)

????5.點(diǎn)擊send之后,下面顯示響應(yīng)數(shù)據(jù),可以是html,json,xml...

5.4.3 post請(qǐng)求

????1. 提交form表單,如圖所示

? ??????https://www.wanandroid.com/user/login

????????方法:POST

????參數(shù):

????username,password

????post請(qǐng)求的參數(shù)信息在Body中添加

????form表單提交需要選中x-www-form-urlencoded

????請(qǐng)求頭添加和get請(qǐng)求相同,在Headers中添加

need-to-insert-img

need-to-insert-img

2. json提交

下圖中,當(dāng)我們選擇JSON(application/json) 是會(huì)自動(dòng)幫我們?cè)O(shè)置 headers 為 application/json

在這里就不截圖 舉例了

need-to-insert-img

3. xml提交

need-to-insert-img

4. 二進(jìn)制文件提交

need-to-insert-img

????其它請(qǐng)求方式如PUT,DELETE 大致流程和GET,POST 差不多,這里就不一一舉例說(shuō)明了

5.4.4 授權(quán)Authorization

? ??Authorization,授權(quán)就是驗(yàn)證我們是否有權(quán)限從服務(wù)器訪問(wèn)所需的數(shù)據(jù)。發(fā)送請(qǐng)求時(shí),通常必須包含參數(shù)以確保請(qǐng)求有權(quán)訪問(wèn)并返回所需的數(shù)據(jù),比如需要登錄之后才能訪問(wèn)的數(shù)據(jù)。Postman提供的授權(quán)類型可以讓我們輕松處理Postman進(jìn)行接口測(cè)試中的身份驗(yàn)證協(xié)議。

在postman中Authorization分為以下幾種類型:

????????注意:應(yīng)當(dāng)注意:NTLM和BearerToken僅在Postman本地應(yīng)用程序中可用。所有其他授權(quán)類型都可以在Postman本地應(yīng)用程序和Chrome應(yīng)用程序中使用。

1. Inherit auth from parent

? ??向集合或文件夾添加授權(quán)。

????假設(shè)您在集合中添加了一個(gè)文件夾。在授權(quán)選項(xiàng)卡下,默認(rèn)的授權(quán)類型將被設(shè)置為“從父類繼承auth”。

????“從父”設(shè)置的“繼承auth”指示默認(rèn)情況下,該文件夾中的每個(gè)請(qǐng)求都使用父類的授權(quán)類型。在本例中,該集合使用“No Auth”,因此該文件夾使用“No Auth”,這意味著該文件夾中的所有請(qǐng)求將使用“No Auth”

????如果您希望將父集合授權(quán)類型保留為“No Auth”,但要更新這個(gè)特定的文件夾的授權(quán)助手,該怎么辦呢?您可以編輯文件夾的詳細(xì)信息,從類型下拉菜單中選擇“基本的Auth”,并輸入您的憑證。因此,這個(gè)文件夾中的每個(gè)請(qǐng)求都依賴于“基本的Auth”,而父集合中的其余請(qǐng)求仍然不使用任何授權(quán)

2. No Auth

? ??默認(rèn)情況下,“No Auth”出現(xiàn)在下拉菜單列表中。當(dāng)您不需要授權(quán)參數(shù)發(fā)送請(qǐng)求時(shí),使用“No Auth”。

3. Bearer Token

Bearer Token是安全令牌。任何帶有Bearer Token的用戶都可以使用它來(lái)訪問(wèn)數(shù)據(jù)資源,而無(wú)需使用加密密鑰。

使用Bearer Token:

????????第一步:從下拉菜單中選擇“Bearer Token”。

????????第二步:要設(shè)置請(qǐng)求的授權(quán)參數(shù),請(qǐng)輸入令牌的值。

????????第三步:點(diǎn)擊發(fā)送按鈕

4. Basic auth

? ??Basic Auth是一種授權(quán)類型,需要驗(yàn)證用戶名和密碼才能訪問(wèn)數(shù)據(jù)資源。

使用基本身份驗(yàn)證:

????????第一步:從下拉菜單中選擇“Basic Auth”。

????????第二步:要設(shè)置請(qǐng)求的授權(quán)參數(shù),請(qǐng)輸入您的用戶名和密碼。

????????第三步:點(diǎn)擊發(fā)送按鈕。

5. Digest Auth

????????在“Digest Auth”流程中,客戶端向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器返回客戶端的nonce和realm值;客戶端對(duì)用戶名、密碼、nonce值、HTTP請(qǐng)求方法、被請(qǐng)求資源URI等組合后進(jìn)行MD5運(yùn)算,把計(jì)算得到的摘要信息發(fā)送給服務(wù)端。服務(wù)器然后發(fā)回客戶端請(qǐng)求的數(shù)據(jù)。

????????通過(guò)哈希算法對(duì)通信雙方身份的認(rèn)證十分常見(jiàn),它的好處就是不必把具備密碼的信息對(duì)外傳輸,只需將這些密碼信息加入一個(gè)對(duì)方給定的隨機(jī)值計(jì)算哈希值,最后將哈希值傳給對(duì)方,對(duì)方就可以認(rèn)證你的身份。

????????Digest思想同樣采如此,用了一種nonce隨機(jī)數(shù)字符串,雙方約好對(duì)哪些信息進(jìn)行哈希運(yùn)算即可完成雙方身份的驗(yàn)證。Digest模式避免了密碼在網(wǎng)絡(luò)上明文傳輸,提高了安全性,但它仍然存在缺點(diǎn),例如認(rèn)證報(bào)文被攻擊者攔截到攻擊者可以獲取到資源。

????????默認(rèn)情況下,Postman從響應(yīng)中提取值對(duì)應(yīng)的值。如果不想提取這些值,有以下兩種選擇:

????????在所選字段的高級(jí)部分中輸入您自己的值勾選“Yes,disable retrying the request”復(fù)選框。

6. OAuth 1.0

? ??????OAuth 1.0是一種可以讓我們?cè)诓还_(kāi)密碼的情況下授權(quán)使用其他應(yīng)用程序的授權(quán)模式。

????在Postman中按照以下步驟使用OAuth 1.0授權(quán):

????在Authorization下來(lái)授權(quán)標(biāo)簽中選擇“OAuth 1.0”授權(quán)模式;在“Add authorization datato” 下拉選擇框中,選擇對(duì)應(yīng)的請(qǐng)求模式。

????當(dāng)選擇“Request Body/Request URL”時(shí),Postman將檢查請(qǐng)求方法是POST還是PUT,以及請(qǐng)求主體類型是否是x-www-form-urlencoded;如果是這樣,Postman將增加授權(quán)參數(shù)到請(qǐng)求主體。對(duì)于所有其他情況,它會(huì)向URL添加授權(quán)參數(shù)。

7. OAuth 2.0

????OAuth 2.0作為OAuth 1.0的升級(jí)版本。在Postman中按照以下步驟進(jìn)行使用:

在Authorization下來(lái)授權(quán)標(biāo)簽中選擇“OAuth 2.0”授權(quán)模式在“Add authorization data to”下拉選擇框中,選擇對(duì)應(yīng)的請(qǐng)求模式;

設(shè)置請(qǐng)求的授權(quán)參數(shù),有以下三個(gè)選擇:

????????點(diǎn)擊“Get New Access Token”按鈕,在彈出的對(duì)話框中輸入對(duì)應(yīng)的參數(shù);單擊“Request Token”按鈕獲取對(duì)應(yīng)的Token。接下來(lái)有了對(duì)應(yīng)的Token后,就可以點(diǎn)擊“Send”按鈕發(fā)送請(qǐng)求了;

????????在“Access Token”輸入框中輸入一個(gè)Token,或者Token對(duì)應(yīng)的環(huán)境變量,然后就可以點(diǎn)擊“Send”按鈕發(fā)送請(qǐng)求了;

????????在“Available Tokens”下拉框中選擇已經(jīng)存在的Token,然后發(fā)送請(qǐng)求。

案例:

? ??????/**

? ? ? ? ? * 登錄

????????* https://www.liulongbin.top:8888/api/private/v1/login

????????* post

????????* 參數(shù):

????????* username(admin),password(123456)

????????*

????????* 上傳圖片

????* https://www.liulongbin.top:8888/api/private/v1/upload

????????* post

????* 請(qǐng)求頭 :authorization : Bearer

????eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjU wMCwicmlkIjowLCJpYXQiOjE2MTU4NjI

????zODksImV4cCI6MTYxNTk0ODc4OX0.Rr-????M1MTfVWER3i8KiIIlfP0mW6oHYu05Sz6WzCeaKSA

????* 參數(shù): file -- 文件

????*/

可以給接口集

9.5 Pre-request Script--預(yù)處理腳本

????Pre-request Script,翻譯中文為預(yù)處理腳本,是請(qǐng)求發(fā)送之前需要執(zhí)行的代碼片段,在我們點(diǎn)擊send發(fā)起請(qǐng)求之前,改區(qū)域的代碼先執(zhí)行。

????使用場(chǎng)景:例如請(qǐng)求中包含一個(gè)隨機(jī)數(shù)或者時(shí)間戳(時(shí)間的毫秒值),或者參數(shù)需要加密。

????1. 給一個(gè)接口添加預(yù)處理腳本:新建一個(gè)網(wǎng)絡(luò)請(qǐng)求,點(diǎn)擊Pre-request Script,寫(xiě)入js腳本獲取時(shí)間的毫秒值(時(shí)間戳)

? ? ?2.給接口集添加預(yù)處理腳本:如圖所示,完成后以后接口集下面所有接口在請(qǐng)求的時(shí)候都會(huì)先執(zhí)行預(yù)請(qǐng)求腳本

????????????在輸入框右側(cè)有一些簡(jiǎn)單的js腳本生成按鈕,可以通過(guò)按鈕生成

5.6 Tests內(nèi)置腳本

????????既然有在請(qǐng)求發(fā)起之前執(zhí)行的腳本,那么是否有在請(qǐng)求完成之后執(zhí)行的腳本呢? 有Tests里面輸入的腳本就是在網(wǎng)絡(luò)請(qǐng)求之后執(zhí)行的,Postman的強(qiáng)大之處在于其允許在對(duì)某一個(gè)request訪問(wèn)的之前和之后分別運(yùn)行自定義的一段Javascript腳本,這樣直接就完成了一個(gè)chain request的效果,可以將數(shù)條request連結(jié)成一個(gè)流程完成一體化測(cè)試。

如下在Pre-request Script和Tests中分別輸入了js代碼,執(zhí)行如下如所示:

5.7 命令行運(yùn)行接口結(jié)合

? ??????9.7.1 命令行運(yùn)行

? ??????????執(zhí)行命令行前提條件是需要newman,newman是需要nodejs來(lái)安裝的,所以得先下載安裝node.node下載地址:https://nodejs.org/en/download/

? ??????????cmd模式下輸入node -v,回車,顯示node版本號(hào),即為安裝成功

????????npm(node package manager):nodejs的包管理器,用于node插件管理(包括安裝、卸載、管理依賴等)

????????cnpm:淘寶團(tuán)隊(duì)的cnpm是npm在國(guó)內(nèi)的鏡像,可以用此代替官方版本(只讀),同步頻率目前為 10分鐘 一次以保證盡量與官方服務(wù)同步。

????????安裝完后查看版本cnpm -v

????????安裝newman:cnpm install newman --global

????????檢查是否安裝成功:newman -v

????????安裝newman-reporter-html

????????執(zhí)行cnpm install -g newman-reporter-html

????????在測(cè)試文件夾 pmtest 里面可以看到生成的一個(gè) newman 文件夾,打開(kāi)就可以看到生成的測(cè)試報(bào)告。

5.8 環(huán)境變量的使用

? ? 5.8.1 Postman 環(huán)境變量的應(yīng)用

? ??????點(diǎn)擊眼睛圖標(biāo)可以查看所有的環(huán)境變量和全局變量。點(diǎn)擊眼睛圖標(biāo)右邊的設(shè)置圖標(biāo)可以設(shè)置環(huán)境變量和全局變量。

????????環(huán)境變量可以分組設(shè)置,并且在使用的時(shí)候選擇其中一組環(huán)境變量。 使用環(huán)境變量 {{baseUrl}} 兩邊各量個(gè)花括號(hào)括起來(lái) 這個(gè)環(huán)境變量可以在url 中使用,也可以在header 中能使用,還能在請(qǐng)求體中使用

? ??????選中No Environment(選中已有環(huán)境就變成編輯了)--> 點(diǎn)擊眼睛-->點(diǎn)擊Add

????????案例:新建兩個(gè)環(huán)境,都創(chuàng)建相同的環(huán)境變量baseUrl值使用不同的網(wǎng)址,新建請(qǐng)求,使用{{baseUrl}},切換環(huán)境后,同一個(gè)請(qǐng)求訪問(wèn)到的頁(yè)面不一樣

5.9 全局變量的使用

? ? 5.9.1 Postman全局變量的應(yīng)用

????????postman 的環(huán)境變量可以分組,但是全局變量不能分組,只能有一組全局變量,在設(shè)置和使用都類似于環(huán)境 變量。在下圖位置設(shè)置全局變量。

????????點(diǎn)擊右上角眼睛 --> 點(diǎn)擊Globals右邊的Edit,添加全局變量,點(diǎn)擊save保存,和環(huán)境變量一樣,通過(guò){{timestamp}}引用

一、Shell介紹

1、什么是shell腳本

Shell腳本與Windows/Dos下的批處理相似,也就是用各類命令預(yù)先放入到一個(gè)文件中,方便一次性執(zhí)行的一個(gè)程序文件,主要是方便管理員進(jìn)行設(shè)置或者管理用的。但是它比Windows下的批處理更強(qiáng)大,比用其他編程程序編輯的程序效率更高,它使用了Linux/Unix下的命令。

二、Shell腳本的規(guī)則

Shell 和python都是弱語(yǔ)言

1、變量的規(guī)則

定義變量規(guī)則:

變量名=值

shell定義變量的規(guī)則:

1: 等號(hào)兩邊不能有空格2:定義特殊的變量需要用單引號(hào)或者雙引號(hào)結(jié)合3:定義linux命令需要用反單引號(hào)

區(qū)分單引號(hào)和雙引號(hào)的不同和相同點(diǎn)

雙引號(hào)中有$變量名,輸出的是變量名對(duì)應(yīng)的變量值單引號(hào)中有$變量名,輸出的是$變量名

image

定義linux命令需要用反單引號(hào)

image

2、腳本的命名格式

腳本名稱使用.sh結(jié)尾

3、腳本的起始行格式

第一行必須寫(xiě)# !/bin/bash

案例一:打印路徑

image

案例二:計(jì)算當(dāng)前文件夾有幾個(gè)文件

image

案例三:計(jì)算任意個(gè)一個(gè)文件下含有幾個(gè)文件

image

4、腳本輸入輸出格式

1:輸入語(yǔ)句用:read-p"描述"2:Shell輸出值:echo$變量名

5、 腳本的調(diào)用

方式1:./腳本名.sh(權(quán)限的問(wèn)題)方式2: sh 腳本名.sh

注意點(diǎn):read可以傳遞多個(gè)數(shù)據(jù) read –p”name and passwoed”name password

超過(guò)的部分都填充在最后一個(gè)變量上

image

6、參數(shù)傳遞

參數(shù)傳遞 :向.sh文件中傳遞數(shù)據(jù)

格式: sh 腳本名.sh 參數(shù)

$1:接收第一個(gè)參數(shù)~~$n$n: 文件名稱$@: 所有參數(shù) s$#: 參數(shù)個(gè)數(shù)? $0

image

7、比較運(yùn)算符和邏輯運(yùn)算符

(1)比較運(yùn)算符(數(shù)字)

-eq 比較是否相等equal-ne 比較不相等? ? ? ? ? notequal-gt 比較大于? ? ? ? ? ? greater than-ge? 比較大于等于? ? ? greaterequal-lt? 比較小于? ? ? ? ? less than-le? 比較小于等于? ? ? lessequal

(2)比較運(yùn)算符(字符串)

==? 比較是否相等!=? 比較不相等

加一操作:((i++))((i+=1))加n操作:s=$(($s+$i))s=$[$s+$i]((s=$s+$i))

(3)邏輯運(yùn)算符

-a? 邏輯與? ? -o邏輯或? ? ? !邏輯非 and? ? ? ? ? ? or

8、if語(yǔ)句

單條件語(yǔ)句格式:

if [ 條件 ] then 語(yǔ)句 else 語(yǔ)句 fi

注意點(diǎn):

1: if后面有空格, 2:條件兩邊有空格, 3:if條件里面存在變量,需要$,而且變量?jī)蛇呅枰p引號(hào), 4:fi是結(jié)束標(biāo)識(shí)

練習(xí):判斷用戶輸入的用戶名(name)和密碼(password)是否為****admin 和 123456,****如果是則提示登錄成功(success),否則提示失敗(fail)

image

多條件語(yǔ)句格式;

if [ 條件 ] then 語(yǔ)句 elif [ 條件 ] then 語(yǔ)句 ...... else 語(yǔ)句 fi

練習(xí):輸入學(xué)生的成績(jī),80

#!/bin/bashread -p"input score " scoreif [ "$score" -gt 80 -a "$score" -le 100 ]thenecho "very good"elif [ "$score" -gt 60 -a "$score" -le 80 ]thenecho "good"else echo "not good"fi

9、case規(guī)則

格式:

case $變量名 in "值") 語(yǔ)句;; "值") 語(yǔ)句;; ..... esac

注意:

1:case這第一行以in結(jié)尾? 2:值可以是字符串也可以是數(shù)字, 如果數(shù)字范圍[0-9]? 3:結(jié)束語(yǔ)句;;4:esac結(jié)束標(biāo)志

練習(xí):輸入一個(gè)序號(hào),判斷該用戶選擇哪款產(chǎn)品,A:筆記本 B:手機(jī) C:小臺(tái)燈

image

練習(xí):請(qǐng)輸入對(duì)客服的滿意度,【0-3】不滿意,【4-6】滿意,【7-9】非常滿意

image

10、For循環(huán)

格式:

for 變量 in? 列表do語(yǔ)句done

注意1: 結(jié)束標(biāo)志done

image

for i in 1 2 3 4 5doecho $idone

擴(kuò)充:試想列表中的元素過(guò)多的時(shí)候,需要怎么做?

seq mix step max

注意:mix 開(kāi)始數(shù)據(jù) step:間隔 max 結(jié)束數(shù)據(jù),如果step為1,可以省略,需要用反單引號(hào),seq語(yǔ)句標(biāo)志

//0-100for i in `seq 1 2 100`doecho $idone

11、While循環(huán)

while [條 件 ]? ? do? ? 語(yǔ)句? ? done

注意:

1: while后面有空格, 2:條件兩邊有空格, 3:while條件里面存在變量,需要$,而且變量?jī)蛇呅枰p引號(hào), 4:done是結(jié)束標(biāo)識(shí)

練習(xí):求1-100之間的和

image

三、Shell腳本的函數(shù)

1:定義格式

函數(shù)名(){代碼 }調(diào)用格式函數(shù)名

注意點(diǎn):必須先定義一個(gè)函數(shù),然后再調(diào)用它

image

2:函數(shù)中的參數(shù)

使用$n來(lái)接收數(shù)據(jù)

image

練習(xí)1:輸入1,100兩個(gè)整數(shù)進(jìn)行求和運(yùn)算,并打印結(jié)果

image

練習(xí)2:輸入任意兩個(gè)整數(shù)進(jìn)行求和運(yùn)算,并打印結(jié)果

image

3:函數(shù)中的返回值

Shell中函數(shù)中默認(rèn)存在返回值

查看函數(shù)的返回值$?

image

image

注意點(diǎn):

如果沒(méi)有代碼錯(cuò)誤默認(rèn)返回值為0有代碼錯(cuò)誤返回1查看返回值內(nèi)容:$?

代碼有錯(cuò)誤:

image

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容