本書主要包含三部分內(nèi)容,*部分為Python編程基礎(chǔ),第二部分是HTTP協(xié)議,第三部分是HTTP接口測(cè)試實(shí)戰(zhàn)。讓讀者可以從零開始,逐步掌握Python語(yǔ)言,具備基本的Python編程基礎(chǔ)。通過(guò)練習(xí)的方式了解HTTP協(xié)議中常用的概念和機(jī)制。*后,將兩者相結(jié)合,學(xué)會(huì)用Python進(jìn)行HTTP接口測(cè)試,主要采用Python的單元測(cè)試方法進(jìn)行HTTP接口測(cè)試工作,通過(guò)一步一步的練習(xí),讀者會(huì)掌握unittest單元測(cè)試框架的使用,掌握測(cè)試數(shù)據(jù)的外部化(到文件和到Excel等),掌握HTTP接口的發(fā)現(xiàn)和探測(cè)。 本書亦學(xué)亦練,學(xué)練結(jié)合,每個(gè)章節(jié)分為多個(gè)小節(jié),每個(gè)小節(jié)的前半部分會(huì)對(duì)本小節(jié)的知識(shí)點(diǎn)主題進(jìn)行詳細(xì)的介紹,后半部分會(huì)啟動(dòng)一個(gè)練習(xí),讓讀者邊閱讀邊練習(xí),在練習(xí)中檢驗(yàn)學(xué)習(xí)的成果。
本書是資深互聯(lián)網(wǎng)高級(jí)工程師阿奎結(jié)合自己多年的經(jīng)驗(yàn)寫就的一本指導(dǎo)初學(xué)者學(xué)習(xí)Python編程和自動(dòng)化測(cè)試中的HTTP接口測(cè)試的書。通過(guò)闖關(guān)游戲式的獨(dú)特學(xué)習(xí)模式,通過(guò)在線讀者圈增值服務(wù),指導(dǎo)讀者掌握高效學(xué)習(xí)計(jì)算機(jī)編程和應(yīng)用。
序一
身處軟件開發(fā)這個(gè)頗具顛覆性的行業(yè),又恰逢智能技術(shù)的爆發(fā)期,很多認(rèn)知都在被刷新著。和阿奎相識(shí)源于組織的敏捷轉(zhuǎn)型合作,初幾次見面印象是此人技術(shù)問(wèn)得很細(xì),聊了很多關(guān)于代碼重構(gòu)和自動(dòng)化測(cè)試的觀點(diǎn),這可能也是敏捷圈子里最能夠試探彼此是否為圈內(nèi)人士的方法。那個(gè)時(shí)候關(guān)于測(cè)試已死的觀點(diǎn)還是頗為流行的,當(dāng)然意思是傳統(tǒng)的人肉測(cè)試最終都會(huì)被自動(dòng)化測(cè)試所取代,而開發(fā)人員通過(guò)測(cè)試驅(qū)動(dòng)開發(fā)這樣的技術(shù)實(shí)踐自然就能生成自動(dòng)化測(cè)試集,那專職測(cè)試還留著作甚?
前兩周圈子里的人工智能專家給我轉(zhuǎn)來(lái)一篇論文,快速掃描后大意是一組科研人員正通過(guò)語(yǔ)義和圖形分析的技術(shù)對(duì)算法類論文進(jìn)行直接算法生成,也就是說(shuō)給這程序一個(gè)算法描述,它就還你一個(gè)真正的算法實(shí)現(xiàn)。當(dāng)然現(xiàn)實(shí)中給一個(gè)高保真網(wǎng)頁(yè)圖片,還你一個(gè)真實(shí)網(wǎng)站的在線服務(wù)已經(jīng)存在了。稍加思索你會(huì)得出一個(gè)具有諷刺意味的推論:是不是開發(fā)已死?具備一定智能的程序已經(jīng)可以自己產(chǎn)生相應(yīng)的程序了。而測(cè)試卻好像并沒(méi)有死,反而這兩年從探索性測(cè)試到針對(duì)新交互渠道的感知測(cè)試還越來(lái)越火了。
看到這本書的時(shí)候,很高興當(dāng)年和阿奎討論的一個(gè)觀點(diǎn)現(xiàn)在仍然是對(duì)的,那就是測(cè)試人員必須寫代碼。不管是現(xiàn)代的分布式互聯(lián)網(wǎng)應(yīng)用,還是即將到來(lái)的物聯(lián)網(wǎng)設(shè)備,其測(cè)試的難度都提升了很多,甚至可以說(shuō)如果不采用自動(dòng)化的程序是不可能進(jìn)行有效測(cè)試的。想像一下把應(yīng)用商城刷積分的人肉模式復(fù)制到未來(lái)一平米可能有上萬(wàn)個(gè)物聯(lián)網(wǎng)設(shè)備接入的場(chǎng)景下,你可能需要一個(gè)Alpha Go來(lái)完成這樣的人肉測(cè)試。有幸的是我認(rèn)識(shí)了幾位把測(cè)試人員寫代碼真正貫徹和執(zhí)行下去的管理者,阿奎就是其中一位。
Python作為編程語(yǔ)言自不用多講,曾經(jīng)在測(cè)試領(lǐng)域因?yàn)槠潇`活性大受歡迎,積累了不少有用的測(cè)試庫(kù),即使現(xiàn)在很多項(xiàng)目上我們還會(huì)日常使用。而大數(shù)據(jù)時(shí)代的來(lái)到更催生了這門語(yǔ)言的學(xué)習(xí)熱潮,不少業(yè)務(wù)人員開始學(xué)習(xí)Python作為數(shù)據(jù)分析的編程語(yǔ)言。時(shí)下的大數(shù)據(jù)分析不同于之前既定規(guī)則的數(shù)據(jù)處理,更多是在大數(shù)據(jù)中去挖掘和探索,某種意義上我們又何嘗不可以說(shuō)是在進(jìn)行數(shù)據(jù)測(cè)試呢?所以學(xué)習(xí)Python應(yīng)該是符合時(shí)代背景高投入產(chǎn)出比的事情。
從互聯(lián)網(wǎng)到移動(dòng)互聯(lián)網(wǎng),再到物聯(lián)網(wǎng),很多技術(shù)都會(huì)被改變,最有可能持續(xù)發(fā)光發(fā)熱的組件可能就是我們的應(yīng)用通信協(xié)議HTTP了。針對(duì)HTTP通信的接口測(cè)試也是最常見的,經(jīng)常也是最繁瑣的。學(xué)習(xí)如何進(jìn)行有效的自動(dòng)化是避免自己被機(jī)器人取代的必備技能。
最后,很感謝阿奎把自己的學(xué)習(xí)心得和方法也融匯到了此書中。刻意練習(xí)是技術(shù)學(xué)習(xí)的不二竅門,如何堅(jiān)持確是相當(dāng)有難度的一件事情。和廣大讀者一樣,阿奎并非身處一個(gè)純粹的技術(shù)公司,日常有很多的管理會(huì)議和業(yè)務(wù)需求,所以他的學(xué)習(xí)經(jīng)驗(yàn)分享更值得大家借鑒和試驗(yàn)。
肖然
精益敏捷專家
ThoughtWorks咨詢與設(shè)計(jì)總監(jiān)
序二
轉(zhuǎn)眼,阿奎工作已經(jīng)13個(gè)年頭了,先后做過(guò)程序員、軟件工程師、團(tuán)隊(duì)經(jīng)理,現(xiàn)在是一名系統(tǒng)分析師和內(nèi)部敏捷教練,積極地參與組織中的敏捷實(shí)踐和推廣工作。
在擔(dān)任團(tuán)隊(duì)經(jīng)理期間,阿奎先后帶過(guò)C/C 、Cobol和Java為開發(fā)語(yǔ)言的開發(fā)團(tuán)隊(duì),多年來(lái)一直保持對(duì)技術(shù)研發(fā)工作的熱愛。最有意思的是,多年以前他還在一個(gè)以主機(jī)COBOL為開發(fā)語(yǔ)言的部門的時(shí)候,竟然會(huì)去參加以Java為語(yǔ)言棧的編程大賽。
接觸最多的是2013年調(diào)到新技術(shù)實(shí)驗(yàn)室的時(shí)候,那個(gè)時(shí)候互聯(lián)網(wǎng)金融風(fēng)頭正盛,敏捷開發(fā)方法作為一種新的軟件開發(fā)方法,正在被各個(gè)大型企業(yè)所認(rèn)可和嘗試。那是他接觸敏捷的緣起,甚至可以說(shuō)也是這本書的緣起。
阿奎自2013年開始從事敏捷實(shí)踐和推廣工作,他將自己定位為一名技術(shù)性管理者,在從事團(tuán)隊(duì)管理的同時(shí),一直保持著對(duì)各種新技術(shù)的關(guān)注,在工作中對(duì)于如何提升團(tuán)隊(duì)的工作效率也多有思考。眾所周知,敏捷開發(fā)轉(zhuǎn)變的核心在于人的轉(zhuǎn)變,而在人的轉(zhuǎn)變過(guò)程中,人員能力的提升和對(duì)新的開發(fā)模式的適應(yīng)又是尤為重要的。
隨著敏捷、精益、DevOps等新的軟件開發(fā)理念的盛行,軟件測(cè)試的從業(yè)人員也正在經(jīng)歷工作環(huán)境和工作要求的改變。這種改變需要軟件測(cè)試從業(yè)者成為真正的IT人,具備計(jì)算機(jī)基礎(chǔ)理論知識(shí)和網(wǎng)絡(luò)知識(shí),掌握一門編程語(yǔ)言,熟悉一個(gè)操作系統(tǒng)和一個(gè)數(shù)據(jù)庫(kù)。
環(huán)顧業(yè)內(nèi),很多軟件測(cè)試從業(yè)者都正在經(jīng)歷從點(diǎn)點(diǎn)點(diǎn)工程師到自動(dòng)化測(cè)試工程師的轉(zhuǎn)變,這個(gè)轉(zhuǎn)變是痛苦的,也是迷茫的。阿奎就是看到了這樣一個(gè)需要,利用去年下半年和今天一年的業(yè)余時(shí)間,寫了這本書,其中的每一個(gè)練習(xí)都是他精心設(shè)計(jì)的,并且都自己進(jìn)行了實(shí)戰(zhàn)和解答。這本書是他專門針對(duì)沒(méi)有編程基礎(chǔ)的軟件測(cè)試工程師如何快速、高效地學(xué)會(huì)編程這一課題的一次實(shí)踐和有益的嘗試。
書中提到的闖關(guān)式學(xué)習(xí)實(shí)際上就是刻意練習(xí)的學(xué)習(xí)思想,在編程語(yǔ)言學(xué)習(xí)上的實(shí)地應(yīng)用,并且經(jīng)過(guò)他的一些實(shí)驗(yàn),取得了非常好的學(xué)習(xí)效果。
特別祝賀阿奎,能夠?qū)⒆约洪L(zhǎng)期工作、學(xué)習(xí)的收獲和所得,通過(guò)一本書的形式進(jìn)行一次總結(jié),特別是這樣一本幫助大家學(xué)習(xí)編程的書。
薛勇
主任工程師
中國(guó)銀行軟件中心
前 言
每個(gè)人都應(yīng)該花1年時(shí)間學(xué)習(xí)編程。
喬布斯
我一直以來(lái)有一個(gè)觀點(diǎn),對(duì)于希望從事自動(dòng)化測(cè)試工作或者希望掌握自動(dòng)化測(cè)試技能的人士,掌握一門計(jì)算機(jī)語(yǔ)言是繞不過(guò)去的一個(gè)坎。就是這個(gè)坎,讓很多從事手工測(cè)試的工程師對(duì)于自動(dòng)化測(cè)試工作望而卻步,這讓很多人不由自主地退而求其次,轉(zhuǎn)向去學(xué)習(xí)一些自動(dòng)化測(cè)試的工具,來(lái)回避語(yǔ)言學(xué)習(xí)的困難。
看到身邊很多的測(cè)試工程師對(duì)待編程語(yǔ)言的學(xué)習(xí)畏之如虎,談之無(wú)力,讓我產(chǎn)生了為希望轉(zhuǎn)型成為自動(dòng)化測(cè)試工程師的軟件測(cè)試從業(yè)者提供一本靠譜的編程語(yǔ)言學(xué)習(xí)指導(dǎo)書的想法。這也是促成這本書初稿形成的原始動(dòng)力。
隨著信息技術(shù)的發(fā)展,計(jì)算機(jī)辦公技能成為一名現(xiàn)代白領(lǐng)工作者的必備技能,我們?nèi)粘9ぷ髦杏泻芏嗟臅r(shí)間都是在與計(jì)算機(jī)進(jìn)行交互。通過(guò)對(duì)計(jì)算機(jī)語(yǔ)言的學(xué)習(xí),可以為你打開一扇與計(jì)算機(jī)進(jìn)行深層次互動(dòng)交流的大門。同時(shí),在編程語(yǔ)言的學(xué)習(xí)中,你會(huì)學(xué)到一種新的思考方式并找到另一種看待問(wèn)題、解決問(wèn)題的視角。
本書的內(nèi)容包含兩部分:Python編程基礎(chǔ)和基于Python的HTTP接口測(cè)試。
在Python編程基礎(chǔ)部分,主要關(guān)注Python語(yǔ)言的基礎(chǔ)知識(shí)的學(xué)習(xí)和掌握,這一部分對(duì)于每一名希望快速掌握一門計(jì)算機(jī)語(yǔ)言的學(xué)習(xí)者都是適用的。
基于Python的HTTP接口測(cè)試部分,重點(diǎn)面向希望轉(zhuǎn)型為自動(dòng)化測(cè)試工程師的軟件測(cè)試從業(yè)者,以HTTP接口測(cè)試為應(yīng)用場(chǎng)景,來(lái)學(xué)習(xí)和掌握Python的相關(guān)知識(shí)點(diǎn)和使用技巧。
本書以闖關(guān)式學(xué)習(xí)方法為指導(dǎo)進(jìn)行編寫,讓讀者通過(guò)一個(gè)一個(gè)小的關(guān)卡的刻意練習(xí),在不知不覺(jué)中掌握Python編程基礎(chǔ)和HTTP接口測(cè)試的相關(guān)技能,完成從手工測(cè)試工程師到自動(dòng)化測(cè)試工程師的轉(zhuǎn)變。
所謂闖關(guān)式學(xué)習(xí)方法,通俗地講,就是通過(guò)不斷的刻意練習(xí),打通一個(gè)一個(gè)的練習(xí)關(guān)卡來(lái)進(jìn)行自我提升和學(xué)習(xí)的方法。闖關(guān)式學(xué)習(xí)方法首先要求有一名有經(jīng)驗(yàn)的指導(dǎo)者,針對(duì)學(xué)習(xí)目標(biāo)刻意設(shè)計(jì)的一個(gè)又一個(gè)的練習(xí)關(guān)卡,即挑戰(zhàn)問(wèn)題,讀者通過(guò)一定的前期知識(shí)的學(xué)習(xí)和練習(xí)后,在給定的時(shí)間內(nèi)對(duì)第一個(gè)關(guān)卡的問(wèn)題發(fā)起挑戰(zhàn),即闖關(guān)。如果給定的時(shí)間內(nèi)不能有效地完成挑戰(zhàn)問(wèn)題,就需要反復(fù)的刻意練習(xí),直至輕松完成挑戰(zhàn)問(wèn)題為止,即闖關(guān)成功。此時(shí),進(jìn)入下一個(gè)練習(xí)關(guān)卡。
我一直認(rèn)為,學(xué)習(xí)軟件開發(fā)、測(cè)試技能,和學(xué)習(xí)騎自行車、游泳一樣,是一項(xiàng)技能的修煉,而非僅僅是知識(shí)或者概念的掌握,而要習(xí)得一項(xiàng)技能需要刻意地練習(xí)。
作家格拉德威爾在《異類》一書中指出:人們眼中的天才之所以卓越非凡,并非天資超人一等,而是付出了持續(xù)不斷的努力。1萬(wàn)小時(shí)的錘煉是任何人從平凡變成超凡的必要條件。他將此稱為一萬(wàn)小時(shí)定律。要成為某個(gè)領(lǐng)域的專家,需要10000小時(shí),按比例計(jì)算就是:如果每天工作八個(gè)小時(shí),一周工作五天,那么成為一個(gè)領(lǐng)域的專家至少需要五年。
我并不是想用這段引用來(lái)告訴大家,成為自動(dòng)化測(cè)試工程師也需要五年的時(shí)間,而是希望大家看到其中錘煉一詞的深意成就超凡技藝的過(guò)程,實(shí)際上是一個(gè)錘煉的過(guò)程,也就是刻意練習(xí)的過(guò)程。
既然叫做刻意練習(xí),有別于隨意的練習(xí)。隨意的練習(xí)并不能帶來(lái)有效的學(xué)習(xí)和精進(jìn),并且會(huì)浪費(fèi)時(shí)間,打擊練習(xí)者的信心。沒(méi)有任何有效的學(xué)習(xí)和精進(jìn)的過(guò)程是愜意的,不需要付出努力的,要做到刻意練習(xí)有如下四個(gè)要點(diǎn):
● 有目的的練習(xí)。刻意練習(xí)一定是針對(duì)某一個(gè)既定的目的進(jìn)行練習(xí),即每一個(gè)練習(xí)都是有具體目標(biāo)的。
● 精神高度集中的練習(xí)。刻意練習(xí)一定是需要練習(xí)者精神高度集中,全身心投入的,只有這樣才能帶來(lái)學(xué)習(xí)上的領(lǐng)悟和突破。
● 反復(fù)的練習(xí)。在以上兩點(diǎn)的基礎(chǔ)上,重復(fù)的練習(xí)是技藝提升不可缺少的一環(huán),沒(méi)有什么技巧性的技藝是一次就可以完全掌握和徹底領(lǐng)悟的,編程尤其如此。只有通過(guò)不斷的重復(fù)的練習(xí)才將編程中用到的一些基本的概念和模式變成自己的肌肉記憶和大腦反射。
● 獲得有效反饋的練習(xí)。反復(fù)練習(xí)中,還需要有效的反饋來(lái)確定練習(xí)是否取得了進(jìn)展,這種反饋一方面可以促進(jìn)練習(xí)者更好的堅(jiān)持練習(xí),另一方面也可以告訴練習(xí)者,練習(xí)到什么程度就夠了。
以上也是闖關(guān)式學(xué)習(xí)方法的理論依據(jù)和本書設(shè)計(jì)編寫的初衷。
編程作為一門技藝,是可以習(xí)得的,習(xí)得是有方法的,即刻意練習(xí)!但是,沒(méi)有任何有效的學(xué)習(xí)和精進(jìn)的過(guò)程是愜意的和不需要付出努力的。
這是一本針對(duì)Python編程基礎(chǔ)和HTTP接口測(cè)試技能,進(jìn)行刻意練習(xí)的學(xué)習(xí)指南,這不是一本可以靠在沙發(fā)上閱讀的消遣書。
作者自2004年4月-至今 一直在中國(guó)銀行軟件中心從事銀行系統(tǒng)軟件開發(fā)工作,歷任程序員,軟件工程師,團(tuán)隊(duì)經(jīng)理,系統(tǒng)分析師。2013-2016年度,主要從事互聯(lián)網(wǎng)技術(shù)在銀行業(yè)的應(yīng)用開發(fā)工作,參與系統(tǒng)分析和架構(gòu)設(shè)計(jì),負(fù)責(zé)敏捷開發(fā)工藝的推廣和團(tuán)隊(duì)管理工作。在軟件開發(fā)、技術(shù)團(tuán)隊(duì)管理和培訓(xùn)方面有豐富的經(jīng)驗(yàn)和獨(dú)到的心得。
目 錄
第一部分 初識(shí)與初心
第一章 Python正流行2
1.1 語(yǔ)言排行榜與技術(shù)雷達(dá)2
1.2 Python之禪5
1.3 無(wú)所不能的Python8
第二章 接口測(cè)試的崛起9
2.1 接口測(cè)試簡(jiǎn)介9
2.2 Ajax接口與Web動(dòng)靜分離10
2.3 Restful接口11
第三章 測(cè)試工程師的自動(dòng)化測(cè)試轉(zhuǎn)型13
3.1 點(diǎn)點(diǎn)點(diǎn)測(cè)試工程師的困惑13
3.2 自動(dòng)化測(cè)試到底要學(xué)什么14
3.3 擺脫點(diǎn)點(diǎn)點(diǎn)從哪里開始16
第二部分 認(rèn)識(shí)Python
第四章 我來(lái)了20
4.1 第一聲問(wèn)候20
4.2 小青,你幾歲了?23
4.3 我會(huì)做加法28
4.4 這是奇數(shù)還是偶數(shù)?30
4.5 我們?nèi)齻(gè)誰(shuí)最大32
4.6 FizzBuzz36
4.7 建造星星塔39
第五章 我長(zhǎng)大了43
5.1 函數(shù)是枝葉43
5.2 模塊是枝干51
5.3 面向?qū)ο笫橇硪环N看待世界的視角53
第六章 我想和你談?wù)?5
6.1 終端帶來(lái)即時(shí)交互55
6.2 文件適用于批量交互57
6.3 處理異常不要崩潰60
第三部分 初識(shí)HTTP
第七章 相識(shí)前的準(zhǔn)備70
7.1 JSON格式的通信錄70
7.2 狀態(tài)碼的五個(gè)分類74
7.3 HTTP協(xié)議基礎(chǔ)77
第八章 交談開始85
8.1 我知道你是哪里人85
8.2 請(qǐng)查收我的POST87
8.3 厲害了,我的30291
8.4 把我藏在Cookies里96
8.5 讓我們保持通話101
第四部分 實(shí)踐HTTP接口測(cè)試
第九章 先要測(cè)起來(lái)112
9.1 認(rèn)識(shí)自動(dòng)化測(cè)試112
9.2 unittest(一)120
9.3 unittest(二)128
第十章 HTTP接口測(cè)試(無(wú)狀態(tài))133
10.1 接口約定133
10.2 案例編寫138
10.3 數(shù)據(jù)外化到文件147
10.4 數(shù)據(jù)外化到Excel156
第十一章 普通Web接口測(cè)試(有狀態(tài))165
11.1 接口探索165
11.2 在返回頁(yè)面中定位檢查點(diǎn)173
11.3 第一個(gè)測(cè)試案例181
11.4 更多測(cè)試案例185
11.5 重復(fù)執(zhí)行注冊(cè)失敗了193
11.6 命令行集成與HTML報(bào)告199
寫在后面的話207
這僅僅是一個(gè)開始207
附錄:參考資料209
附錄:學(xué)習(xí)心得210
第一部分 初識(shí)與初心1
第一章 Python正流行2
1.1 語(yǔ)言排行榜與技術(shù)雷達(dá)2
1.2 Python之禪5
1.3 無(wú)所不能的Python8
第二章 接口測(cè)試的崛起9
2.1 接口測(cè)試簡(jiǎn)介9
2.2 Ajax接口與Web動(dòng)靜分離10
2.3 Restful接口11
第三章 測(cè)試工程師的自動(dòng)化測(cè)試轉(zhuǎn)型13
3.1 點(diǎn)點(diǎn)點(diǎn)測(cè)試工程師的困惑13
3.2 自動(dòng)化測(cè)試到底要學(xué)什么14
3.3 擺脫點(diǎn)點(diǎn)點(diǎn)從哪里開始16
第二部分 認(rèn)識(shí)Python19
第四章 我來(lái)了20
4.1 第一聲問(wèn)候20
4.2 小青,你幾歲了?23
4.3 我會(huì)做加法28
4.4 這是奇數(shù)還是偶數(shù)?30
4.5 我們?nèi)齻(gè)誰(shuí)最大32
4.6 FizzBuzz36
4.7 建造星星塔39
第五章 我長(zhǎng)大了43
5.1 函數(shù)是枝葉43
5.2 模塊是枝干51
5.3 面向?qū)ο笫橇硪环N看待世界的視角53
第六章 我想和你談?wù)?5
6.1 終端帶來(lái)即時(shí)交互55
6.2 文件適用于批量交互57
6.3 處理異常不要崩潰60
第三部分 初識(shí)HTTP69
第七章 相識(shí)前的準(zhǔn)備70
7.1 JSON格式的通信錄70
7.2 狀態(tài)碼的五個(gè)分類74
7.3 HTTP協(xié)議基礎(chǔ)77
第八章 交談開始85
8.1 我知道你是哪里人85
8.2 請(qǐng)查收我的POST87
8.3 厲害了,我的30291
8.4 把我藏在Cookies里96
8.5 讓我們保持通話101
第四部分 實(shí)踐HTTP接口測(cè)試111
第九章 先要測(cè)起來(lái)112
9.1 認(rèn)識(shí)自動(dòng)化測(cè)試112
9.2 unittest(一)120
9.3 unittest(二)128
第十章 HTTP接口測(cè)試(無(wú)狀態(tài))133
10.1 接口約定133
10.2 案例編寫138
10.3 數(shù)據(jù)外化到文件147
10.4 數(shù)據(jù)外化到Excel156
第十一章 普通Web接口測(cè)試(有狀態(tài))165
11.1 接口探索165
11.2 在返回頁(yè)面中定位檢查點(diǎn)173
11.3 第一個(gè)測(cè)試案例181
11.4 更多測(cè)試案例185
11.5 重復(fù)執(zhí)行注冊(cè)失敗了193
11.6 命令行集成與HTML報(bào)告199
寫在后面的話208
這僅僅是一個(gè)開始208
附錄:參考資料210