接口自動(dòng)化思路

1.單接口測(cè)試
1.1 參數(shù)校驗(yàn)
根據(jù)接口文檔,進(jìn)行業(yè)務(wù)參數(shù)的校驗(yàn)

1.1.1 單個(gè)參數(shù)校驗(yàn)
隨機(jī)型:在指定范圍或指定長(zhǎng)度內(nèi)任意取值

枚舉型:依次取每一個(gè)值田晚,例如會(huì)籍卡卡種(plus聯(lián)名卡蛔六、站內(nèi)尊享、站內(nèi)純享等)、會(huì)員級(jí)別(V0-V5)

邊界值:對(duì)取值范圍內(nèi)的最大湿滓、最小敌厘、最大+1台猴、最小-1取值

異常值:null、類(lèi)型最大值和最小值、空字符(常見(jiàn)饱狂,非空校驗(yàn))

默認(rèn)值:對(duì)某些非必填參數(shù)曹步,采用默認(rèn)值

非法值:類(lèi)型不匹配、超出類(lèi)型范圍休讳、超出操作系統(tǒng)限制讲婚、系統(tǒng)關(guān)鍵字

1.1.2 多個(gè)參數(shù)組合校驗(yàn)
參數(shù)與參數(shù)之間有業(yè)務(wù)關(guān)聯(lián)時(shí),需組合校驗(yàn)俊柔,例如第三方會(huì)員直充接口:

"accountType": 0,  //1=手機(jī)號(hào)筹麸,2=pin,3=身份證號(hào)

"account": "",   //賬號(hào)

組合校驗(yàn):accountType=1時(shí)婆咸,account校驗(yàn)1開(kāi)頭的11位數(shù)字竹捉;

accountType=2時(shí),account僅做非空校驗(yàn)尚骄;

accountType=3時(shí)块差,account校驗(yàn)18-20位數(shù)值;

accountType=4時(shí)倔丈,accountType為非法值憨闰。

1.2接口調(diào)用成功
1.2.1 查詢(xún)接口
查詢(xún)接口,調(diào)用成功腳本必須覆蓋需五;

可固定入?yún)in或者從上游接口的返回?cái)?shù)組中取數(shù)查詢(xún)驗(yàn)證

1.2.2 操作接口
操作接口往往無(wú)法單接口調(diào)用成功鹉动,依據(jù)情況看是否要覆蓋調(diào)用成功腳本:

例:線(xiàn)上環(huán)境部分操作接口不適合做自動(dòng)化調(diào)用,適合前臺(tái)頁(yè)面操作宏邮;

有些操作接口可以用上下接口串聯(lián)的形式泽示,達(dá)到接口調(diào)用成功的效果,示例見(jiàn)2

后置操作:

操作接口的調(diào)用成功腳本蜜氨,需要編輯后置操作:

例:新增地址操作成功后械筛,加上刪除該地址的后置操作,否則新增接口腳本長(zhǎng)期回歸后飒炎、同一測(cè)試pin下地址會(huì)冗余埋哟,還會(huì)達(dá)到地址上限而新增失敗

  1. 多接口串聯(lián)測(cè)試(業(yè)務(wù)流測(cè)試)
    將上下多個(gè)接口串聯(lián),模擬真實(shí)場(chǎng)景的業(yè)務(wù)流測(cè)試郎汪;

上一個(gè)接口的返回值赤赊,作為下一個(gè)接口的入?yún)ⅲㄔO(shè)置變量)請(qǐng)求;

操作接口后面往往需要加“等待時(shí)間:Thread.sleep(300)”再請(qǐng)求下一個(gè)接口煞赢。

場(chǎng)景一:刪除收貨地址
接口調(diào)用步驟

給指定測(cè)試pin新增一個(gè)收貨地址 → 查詢(xún)?cè)損in收貨地址列表 → 取返回值的第一個(gè)收貨地址id作為刪除地址接口入?yún)⑴准疲瑒h除該地址

優(yōu)點(diǎn)

如果僅對(duì)刪除收貨地址接口進(jìn)行固定入?yún)⒌慕涌趫?zhí)行,該腳本無(wú)法復(fù)用照筑,接口無(wú)法刪除一個(gè)已被刪除的地址id

場(chǎng)景二:取消售后申請(qǐng)
接口調(diào)用步驟

選取指定測(cè)試pin可申請(qǐng)售后的訂單號(hào) → 申請(qǐng)售后 → 查詢(xún)售后申請(qǐng)列表查詢(xún) → 選取第一條返回結(jié)果爷辱,取消售后申請(qǐng)

注意點(diǎn)

1° 訂單號(hào)選電器等保修期長(zhǎng)的訂單录豺,可保證較長(zhǎng)效期內(nèi)該腳本可復(fù)用

2° 提交售后申請(qǐng)需要調(diào)售后中臺(tái)朦肘,故在申請(qǐng)售后腳本后面饭弓,需要加3秒等待時(shí)間再進(jìn)行下一步操作

3.斷言(期望結(jié)果)
一個(gè)完整的接口測(cè)試,包括:請(qǐng)求->獲取返回結(jié)果→斷言媒抠,斷言是接口自動(dòng)化中至關(guān)重要的一個(gè)環(huán)節(jié)弟断,用于驗(yàn)證測(cè)試用例是否執(zhí)行通過(guò)。

如果斷言寫(xiě)的過(guò)于簡(jiǎn)單趴生,如僅校驗(yàn)響應(yīng)碼阀趴,往往無(wú)法佐證用例測(cè)試通過(guò)。

3.1 斷言設(shè)計(jì)思路
3.1.1 響應(yīng)碼
檢查響應(yīng)碼是否符合預(yù)期苍匆,用來(lái)判斷測(cè)試用例是否執(zhí)行成功

3.1.2 關(guān)鍵字段
驗(yàn)證關(guān)鍵字段值是否符合預(yù)期刘急,用來(lái)判斷測(cè)試用例是否執(zhí)行成功

3.1.3 正則匹配
當(dāng)一個(gè)接口返回的內(nèi)容較多,并且有一定規(guī)律時(shí)浸踩,可通過(guò)正則表達(dá)式校驗(yàn)接口返回的信息叔汁,從而判定測(cè)試用例是否執(zhí)行成功

3.1.4 數(shù)據(jù)庫(kù)匹配核對(duì)
比如對(duì)查詢(xún)一個(gè)接口返回的數(shù)據(jù)進(jìn)行驗(yàn)證時(shí),可通過(guò)編寫(xiě)sql語(yǔ)句查詢(xún)結(jié)果检碗,

然后將sql語(yǔ)句執(zhí)行后數(shù)據(jù)庫(kù)返回的結(jié)果與接口返回的結(jié)果進(jìn)行核對(duì)据块,以此來(lái)判定測(cè)試用例是否執(zhí)行成功

注:該方式需用代碼連庫(kù)實(shí)現(xiàn),當(dāng)前Deeptest和穹天平臺(tái)均未實(shí)現(xiàn)連接數(shù)據(jù)庫(kù)

3.1.5 通過(guò)相關(guān)接口進(jìn)行輔助驗(yàn)證
操作接口折剃,接查詢(xún)接口輔助驗(yàn)證

例:解綁手機(jī)號(hào)接口另假,解綁手機(jī)號(hào)后,想驗(yàn)證手機(jī)號(hào)是否解綁成功怕犁,可以調(diào)用獲取用戶(hù)手機(jī)號(hào)接口边篮,來(lái)驗(yàn)證手機(jī)號(hào)解綁成功

4.變量
4.1 常用變量類(lèi)型
4.1.1 數(shù)組
數(shù)組可以是數(shù)值或者json數(shù)組,輸入多個(gè)變量值奏甫,用','分隔戈轿,每次調(diào)用接口隨機(jī)從數(shù)組中取一個(gè)數(shù)值作為入?yún)?/p>

適用于枚舉類(lèi)型或邊界值測(cè)試

4.1.2 當(dāng)前日期
有些接口需要傳當(dāng)前日期作為入?yún)ⅲ藭r(shí)當(dāng)前日期字段適合設(shè)置變量扶檐。

4.1.3 時(shí)間戳
第三方直充會(huì)員接口凶杖,入?yún)imestamp需校驗(yàn)當(dāng)前時(shí)間前后5分鐘內(nèi),所以該字段只適用于獲取當(dāng)前時(shí)間戳變量款筑,寫(xiě)死的數(shù)值無(wú)法調(diào)用成功

"timestamp": 1622617182000,    //當(dāng)前時(shí)間戳

4.1.4 動(dòng)態(tài)變量
例:{{.data.data.resultList[0].saleServiceInfoVo.serviceId}}智蝠,取上一個(gè)接口的返回值作為本接口入?yún)?/p>

4.1.5 隨機(jī)數(shù)
固定位數(shù)的隨機(jī)數(shù)

5.數(shù)據(jù)鏡像
將大量測(cè)試pin或不同訂單狀態(tài)做成鏡像數(shù)據(jù),即所有相關(guān)的表數(shù)據(jù)固定奈梳,需要新建鏡像數(shù)據(jù)庫(kù)杈湾,存所有相關(guān)表、指定訂單號(hào)/pin的表數(shù)據(jù)攘须,每次reset至鏡像數(shù)據(jù)漆撞。可用job定期或手動(dòng)reset數(shù)據(jù)。

接口自動(dòng)化可將reset鏡像數(shù)據(jù)作為前置條件浮驳,來(lái)免除單接口測(cè)試的前置接口調(diào)用悍汛,更快速的達(dá)到多場(chǎng)景測(cè)試效果。

當(dāng)前阻礙:基礎(chǔ)數(shù)據(jù)庫(kù)不在我們這邊至会,例如用戶(hù)信息表离咐,訂單數(shù)據(jù)表,所以無(wú)法達(dá)到數(shù)據(jù)鏡像效果

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末奉件,一起剝皮案震驚了整個(gè)濱河市宵蛀,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌县貌,老刑警劉巖术陶,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異煤痕,居然都是意外死亡梧宫,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)杭攻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)祟敛,“玉大人,你說(shuō)我怎么就攤上這事兆解」萏” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵锅睛,是天一觀的道長(zhǎng)埠巨。 經(jīng)常有香客問(wèn)我,道長(zhǎng)现拒,這世上最難降的妖魔是什么辣垒? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮印蔬,結(jié)果婚禮上勋桶,老公的妹妹穿的比我還像新娘。我一直安慰自己侥猬,他們只是感情好例驹,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著退唠,像睡著了一般鹃锈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瞧预,一...
    開(kāi)封第一講書(shū)人閱讀 51,488評(píng)論 1 302
  • 那天屎债,我揣著相機(jī)與錄音仅政,去河邊找鬼。 笑死盆驹,一個(gè)胖子當(dāng)著我的面吹牛圆丹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播召娜,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼运褪,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了玖瘸?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤檀咙,失蹤者是張志新(化名)和其女友劉穎雅倒,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體弧可,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蔑匣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了棕诵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片裁良。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖校套,靈堂內(nèi)的尸體忽然破棺而出价脾,到底是詐尸還是另有隱情,我是刑警寧澤笛匙,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布侨把,位于F島的核電站,受9級(jí)特大地震影響妹孙,放射性物質(zhì)發(fā)生泄漏秋柄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一蠢正、第九天 我趴在偏房一處隱蔽的房頂上張望骇笔。 院中可真熱鬧,春花似錦嚣崭、人聲如沸笨触。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)旭旭。三九已至,卻和暖如春葱跋,著一層夾襖步出監(jiān)牢的瞬間持寄,已是汗流浹背源梭。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留稍味,地道東北人废麻。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像模庐,于是被迫代替她去往敵國(guó)和親烛愧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容