本書分為14個章節(jié),第1章是自動化測試相關基礎知識的介紹;第2章到第10章是本書的重點,循序漸進地介紹了自動化測試所用到的技術;第11章通過一個具體的項目綜合運用了前面章節(jié)所介紹的技術與技巧。第12章到第14章選取了當前熱門的技術進行了介紹,旨在擴展測試人員的綜合技術能力。 本書的寫作目的并不是為了簡單地告訴讀者如何使用一個自動化測試工具,而是希望讀者在學習本書的內(nèi)容后能夠提高綜合的技術高度與寬度,從而擺脫簡單的手工測試,向高級測試工程師的道路邁進。
胡志恒 魅族科技(深圳)分公司高級測試工程師。2011年6月開始在博客園上持續(xù)分享各種測試技術和經(jīng)驗,文章多次被51testing等網(wǎng)站轉(zhuǎn)載,精通性能測試、自動化測試等技術。
第 1章 自動化測試基礎 ............................................................................................................. 1? 1.1 軟件測試分類 ........................................................................................................ 1? 1.2 分層的自動化測試 ................................................................................................ 6? 1.3 什么樣的項目適合自動化測試 ............................................................................ 9? 1.4 自動化測試及工具簡述 ...................................................................................... 10? 1.5 Selenium 工具介紹 .............................................................................................. 11? 1.6 前端技術介紹 ...................................................................................................... 14? 1.7 前端工具介紹 ...................................................................................................... 16? 1.8 開發(fā)語言的選擇 .................................................................................................. 19?
第 2章 測試環(huán)境搭建 ............................................................................................................... 21? 2.1 Windows 下的環(huán)境搭建 ...................................................................................... 21? 2.1.1 安裝 Python .............................................................................................. 22 2.1.2 安裝 setuptools 與 pip .............................................................................. 24 2.1.3 安裝 Selenium .......................................................................................... 26 2.1.4 ActivePython ............................................................................................ 26 2.2 Ubuntu 下的環(huán)境搭建 ......................................................................................... 28? 2.3 使用 IDLE 編寫 Python ....................................................................................... 29? 2.4 編寫個自動化腳本 ...................................................................................... 32? 2.5 安裝瀏覽器驅(qū)動 .................................................................................................. 34? 2.6 不同編程語言下使用 WebDriver ........................................................................ 35?
第 3章 Python 基礎 .................................................................................................................. 37? 3.1 Python 哲學 .......................................................................................................... 37?
目 錄 ∣ IX
3.2 輸出與輸入 .......................................................................................................... 39? 3.2.1 print 打印 .................................................................................................. 40? 3.2.2 input 輸入 ................................................................................................. 41? 3.2.3 引號與注釋 .............................................................................................. 41? 3.3 分支與循環(huán) .......................................................................................................... 43? 3.3.1 if 語句 ....................................................................................................... 43? 3.3.2 for 語句 .................................................................................................... 45? 3.4 數(shù)組與字典 .......................................................................................................... 47? 3.4.1 數(shù)組 .......................................................................................................... 47? 3.4.2 字典 .......................................................................................................... 47? 3.5 函數(shù)、類和方法 .................................................................................................. 49? 3.5.1 函數(shù) .......................................................................................................... 49? 3.5.2 類和方法 ..............................................................................
推薦序
記得很久之前接觸自動化的時候看了一本關于某早期自動化測試工具的書,書名已經(jīng) 記不得了,內(nèi)容給我留下了深刻印象。因為那本書根本就是把官方文檔有選擇性地翻譯一 遍,對于實際應用來說其作用幾乎是零。因此,從那時起我就一直認為,對工具的介紹不 應該不僅僅停留在理論和了解的程度,如果沒有實戰(zhàn),那么我們之于工具無非就是葉公好 龍,一直遠觀,無法賞玩。 很欣慰的是,蟲師這本《Selenium 2 自動化測試實戰(zhàn)——基于 Python 語言》并沒有停 留在夸夸其談的表面,我仔細研究了書中的代碼和示例,顯然,很大一部分都是他在日常 工作中勤奮總結而得出的一手范例,對技術書籍來說,這是難能可貴的。
對一本介紹自動化測試的書來說,我們其實不缺理論。國外的很多同行都在不停地傳 經(jīng)布道,他們的結論其實很簡單,自動化測試是好東西,對提升軟件質(zhì)量來說,自動化測 試帶給我們生產(chǎn)力的解放收益要遠遠大于成本。結論我們都知道,工具我們也清楚,無非 就是單元測試用 xunit、rspec 之類,BDD 測試用 cucumber,UI 層面的 aut 用 Selenium,等 等。這些工具我們都會用,而且也許用得還不錯,不過為什么我們的自動化測試除了耗時 費力,根本就看不出什么效果呢?
答案其實很簡單,我們自以為用對了,但實際上也許我們才剛上路,甚至跟實踐 背道而馳。這就像是拿 iPad 當砧板,用宰牛刀殺雞一樣,路子不對,只能越練越野,直到 走火入魔。
這本書其實提到了很多不錯的實踐,路子正宗,從者自然不會誤入歧途,這也是我推 薦它的另外一個理由。
在看本書前面幾章的時候,我總是不斷地想起當年初出茅廬入行時所遇到的初學者困 局。我很想學一門技術,但是到底應該從哪里開始?
萬事開頭難,沒有師傅領進門,在不停的挫敗和各種不同信息的正反面轟炸下,我們 很容易舉白旗放棄。 試想一下這樣的場景:假如你是一個初學者,你從某種渠道得知 Selenium 是代表未來 測試趨勢的測試工具,是提升生產(chǎn)力的重要手段,是提升自己收入水平的一個不錯的投 資,于是你下定決心大干一場,準備好好地學習一下這個東西。你開始興沖沖地去網(wǎng)絡 上搜索資料,然后你開始困惑,因為 Selenium 有兩個版本:Selenium 1 和 Selenium 2,并 且 Selenium 1 到現(xiàn)在都沒有廢棄,是學 Selenium 1 還是學 Selenium 2?Selenium 1 很經(jīng) 典,Selenium 2 很前沿;然后你繼續(xù)深挖,你發(fā)現(xiàn)如果學 Selenium 2,就會遇到 Selenium 1 中一個叫 Webdriver 的東西,那是啥?然而如果要學 Selenium 1,你將一直不停地看到一個 叫 Selelnium RC 的字眼,這又是什么?現(xiàn)在的你也許已經(jīng)有一些動搖了吧,不過噩夢才剛 剛開始。你也許會遇到一些靠譜的人,他們會建議你先學習一門語言,因為如果要用 Selenium,基本上就意味著你應該學會編程。但是 Selenium 支持太多的編程語言,例如, Ruby、Python、Java、Javacript、Objective-C、PHP,到底應該從哪一門語言入手,你開始 陷入經(jīng)典的語言之爭的泥沼,你悲哀地發(fā)現(xiàn)自己花了很多時間去潛心研究,但終只是模 模糊糊知道了 Selenium 在遠方,面前是一堆分岔路口,每種語言看起來都不錯,每個分岔 路口都可以到達終點,但你就是不知道該怎樣邁出步。這便是選擇的成本,選擇是有 風險的,選對了事半功倍,選不對只能半途而廢。
對很多初學者來說,上面的困局應該都是存在的。花了很多精力和時間,但終卻發(fā) 現(xiàn)一切都是徒勞;做了很多功課,但真正該做的事情卻未曾開始。 好在這本書能夠很好地解決這個困局。你不需要選擇,這本書描述的就是 Selenium 2, 代表了主流,也代表了未來;用的語言是 Python,全世界都在用,它簡單、高效、經(jīng)典、 優(yōu)雅。很有意思的是,Python 自身的哲學里也認為只用一種方法來做一件事(你可以 打開 Python 解釋器,然后 import this 試試),免去選擇的苦惱。你應該把精力放在更有意 義的事情上,比如多寫幾個自動化測試用例,而不是糾結于各種選擇,徘徊不前。
然后便是初學者困局里更加常見的一個問題:如何搭建環(huán)境?我遇到過不少人倒在這 里,而且前赴后繼,無限循環(huán)。如果你有這本書,那這些問題應該都不是問題,跟著蟲師 描述的步驟一步步來吧,循序漸進而又節(jié)奏輕快。
搭建好環(huán)境并寫好腳本之后,敢問路在何方又是初學者常見的問題。因為 Selenium 沒 有官方中文文檔,啃英文實在不是一件愉快的事情。也許你好不容易看懂了解釋,卻發(fā)現(xiàn) 官方的示例離自己身處的環(huán)境相差太多,官方的例子一直是 Google 搜索,發(fā) Gmail,而你 卻悲哀地發(fā)現(xiàn)根本就沒有 Gmail 這個網(wǎng)站。這本書不僅非常詳細地介紹了 Selenium 的 API, 而且給出了非常多可以運行的本土化的示例,這對初學者和其他使用者來說都是福音,有 些例子很棒,你試過就知道。 其實試完 WebDriver 中的各種 API 后,你應該算入門了。入門了之后便是更多的困惑, 比如如何去寫測試用例,如何做基于數(shù)據(jù)的用例設計,如何分布式執(zhí)行用例,如何多線程 執(zhí)行用例等,而這些答案都在本書中。 后便是 BDD 和 CI,如果一本介紹自動化測試的書沒有這兩項內(nèi)容,那它一定是不 完整的。如果自動化是彩虹,那么 CI 便是風雨,不經(jīng)歷風雨怎會見彩虹。沒有 CI,自動 化其實找不到太多的應用場景;沒有自動化,CI 更是無從說起。盡管本書的重點不是 CI, 但本書的終點在 CI,就像是指出了宿命的依歸,獨具匠心。
還記得上次跟蟲師見面時的情景,應該已經(jīng)有兩年多了。時過境遷,曾經(jīng)我們上班的 地點就在隔壁,如今發(fā)現(xiàn)時間逝去,很多東西都已改變。不過難能可貴的是蟲師對測試技 術的追求一直不曾更改,也一直筆耕不輟,這本書其實也算是水到渠成的結果。勿忘初心, 堅持自己,后希望這本書能多幫助一些人,我想這應該也是蟲師的初衷吧。
乙醇
一直想買,趁著周末買了!棒
陳v滾滾滾
內(nèi)容編排合理,很適合新手入門
包裝不錯哦 整體感覺不錯 性價比很高 印刷很正 紙質(zhì)好
書中的圖片不是很清楚,尤其黑色背景的
書和紙質(zhì)還可以,包裝有點簡陋,沒能很好的保護書
有優(yōu)惠的時候買的,有用。希望后期對我有所幫助
物流沒有及時更新,快遞員送貨時候沒有聯(lián)系我而是直接放到了小區(qū)超市。要不是去超市買東西都不會發(fā)現(xiàn)快遞已經(jīng)到了,而且物流有點慢
挺好的,講的很清楚
評論還得審核,就沖這個,給你半個星
好評!物流也快!
物流超級慢,根本沒有實戰(zhàn)的項目,但是語言比較簡潔易懂。
書籍還可以
送給朋友的,如果她看了有用,我再來買一本
公司圖書買的,看著還是不錯的
不錯,挺實用的。
這本書的少了第11章的內(nèi)容,中間充第十章直接到了第十二章,沒找到渠道解決這種問題
很好,難得找到python版本的selenium
挺好的,之前看過電子書,所以這本很快就看完了
書本包裝還可以,紙張質(zhì)量還好的。內(nèi)容還沒審閱,暫不評論。
為什么后面兩章的內(nèi)容沒有,物流不行,太慢了。好幾天才到
之前一直只是網(wǎng)上自學,沒有系統(tǒng)的學。現(xiàn)在下定決心好好學一下。聽聞這書不錯,平時自學也有逛過蟲師博客。特意買來學習下
一直信賴書蟲的測試書籍,內(nèi)容很容易理解,但要有python基礎
第一次買蟲師的書,算是自動化的入門教程了,寫得很詳細,內(nèi)容也不枯燥。
期待已久的蟲師寫的干貨,對自動化測試學習非常有幫助,感謝作者!
有很多實例,比較淺顯,適合入門初學者看吧,就是有點過時了,畢竟selenium3已經(jīng)出來了,而且firefox更新后需要下載geckodriver不然運行總是報錯這點書上內(nèi)容已經(jīng)過時了。很多地方由于版本更新,網(wǎng)頁更新,代碼已經(jīng)不適用了,需要自己改動。
Selenium 2自動化測試相關領域的經(jīng)典書籍,必讀之選,書香節(jié)活動,很實惠。很不錯。
Selenium 2 自動化測試實戰(zhàn)——基于 Python 語言這本書還是有一定的含金量的,值得看一看。而且里面有一些范例,可以跟著做一做,相信會有一定的提高。