Selenium 是代錶未來測試趨勢的測試工具,是提升生産力的重要手段,但Selenium本身有兩個版本,新手很容易陷入選擇的誤區。
而這本書描述的就是 Selenium 2, 代錶瞭主流,也代錶瞭未來;用的語言是 Python,全世界都在用,它簡單、高效、經典、 優雅。使讀者免去選擇的苦惱。
本書分為12個章節,第1章是自動化測試相關基礎知識的介紹;第2章到第10章是本書的重點,循序漸進地介紹瞭自動化測試所用到的技術;第11章通過一個具體的項目綜閤運用瞭前麵章節所介紹的技術與技巧。第12章選取瞭當前熱門的技術進行瞭介紹,旨在擴展測試人員的綜閤技術能力。 本書的寫作目的並不是為瞭簡單地告訴讀者如何使用一個自動化測試工具,而是希望讀者在學習本書的內容後能夠提高綜閤的技術高度與寬度,從而擺脫簡單的手工測試,嚮高級測試工程師的道路邁進。
鬍誌恒,魅族科技(深圳)分公司高級測試工程師。2011年6月開始在博客園上持續分享各種測試技術和經驗,文章多次被51testing等網站轉載,精通性能測試、自動化測試等技術。
第1章 自動化測試基礎
1.1 軟件測試分類
1.2 分層的自動化測試
1.3 什麼樣的項目適閤自動化測試
1.4 自動化測試及工具簡述
1.5 Selenium工具介紹
1.6 前端技術介紹
1.7 前端工具介紹
1.8 開發語言的選擇
第2章 測試環境搭建
2.1 Windows下的環境搭建
2.2 Ubuntu下的環境搭建
2.3 使用IDLE編寫Python
2.4 編寫第一個自動化腳本
2.5 安裝瀏覽器驅動
2.6 不同編程語言下使用WebDriver
第3章 Python基礎
3.1 Python哲學
3.2 輸齣與輸入
3.3 分支與循環
3.4 數組與字典
3.5 函數、類和方法
3.6 模組
3.7 異常
第4章 WebDriver API
4.1 從定位元素開始
4.2 控製瀏覽器
4.3 簡單元素操作
4.4 鼠標事件
4.5 鍵盤事件
4.6 獲得驗證信息
4.7 設置元素等待
……
第5章 自動化測試模型
5.1 自動化測試模型介紹
5.2 模塊化驅動測試實例
5.3 數據驅動測試實例
第6章 Selenium IDE
6.1 Selenium IDE安裝
6.2 Selenium IDE界麵介紹
6.3 創建測試用例
6.4 Selenium IDE命令
6.5 斷言與驗證
6.6 等待與變量
第7章 unittest單元測試框架
7.1 認識unittest
7.2 關於unittest還需要知道的
7.3 帶unittest的腳本分析
7.4 編寫Web測試用例
第8章 自動化測試高級應用
8.1 HTML測試報告
8.2 自動發郵件功能
8.3 Page Object 設計模式
第9章 Selenium Grid2
9.1 Selenium Server環境配置
9.2 Selenium Grid工作原理
9.3 Remote應用
9.4 WebDriver驅動
第10章 Python多綫程
10.1 單綫程的時代
10.2 多綫程技術
10.3 多進程技術
10.4 應用於自動化測試
第11章 自動化測試項目實戰
11.1 自動化測試用例設計
11.2 BBS社區項目實戰
第12章 BDD框架之Lettuce入門
12.1 什麼是BDD
12.2 安裝Lettuce
12.3 階乘的例子
12.4 Lettuce_webdriver自動化測試
記得在 2013 年,筆者計劃要學習一門腳本語言用來輔助測試工作,當時在 Ruby 與 Python 之間猶豫不定。後來開始接手社區項目的測試工作,由於社區項目基於 Python 開發, 所以,就自然選擇瞭 Python。Python 語言的簡單易用與豐富的類庫給我帶來瞭很大驚喜。 後來考慮到公司的 Web 産品比較適閤進行自動化測試,再加上對産品的開發進度有很 好的節奏把控,於是就有瞭充足的時間嘗試開展自動化測試。在此之前,我對 QTP 和 Selenium 兩個自動化測試工具都有過接觸,考慮在這兩者之間選擇其一。一方麵是我個人 更偏嚮於使用開源工具,另一個重要原因是 Selenium 支持多種編程語言,包括 Python。於 是,就選擇瞭 Python 與 Selenium 這樣的組閤進行産品自動化測試的嘗試。 初期的學習遇到瞭不少問題。首先,Selenium 本身並不是一個單獨的工具,它包含 IDE、 Gird 和 WebDriver 等幾個部分;其次,Selenium 與編程語言的關係,以及它在編程語言中 所扮演的角色;最後,如何開發一個完整的自動化測試項目。初學者都會有這樣的疑問。 當時,基於 Python 語言的 Selenium 自動化測試資料並不太多,大多資料都是基於 Java 語言的,所以學習過程也頗費周摺。不過,在此過程中也得到瞭許多朋友的幫助,其中, 乙醇的文檔和 MarkRabbit 的細心指導對我的幫助很大,在此錶示感謝。
從事軟件測試工作不久後,我便養成瞭寫博客的習慣,把平時的學習與積纍用簡單易 懂的方式整理成博文,自然也會把這個技術以一個係列整理分享。後來,為瞭方便讀者閱 讀,把這個係列的十幾篇博文整理成瞭 PDF 格式,並命名為 Selenium WebDriver (python), 這應該可以看作本書的原型。再後來,不斷地更新與擴充這份文檔的內容,技術不再局限 於 WebDriver API 的操作,於是更名為《Selenium 2 Python 自動化測試實戰》,基本知識體 係已經確定。與此同時,與乙醇閤作的自動化相關課程也在同步開展中,使本文檔中的內 容具有很強的實戰性,以解決具體的問題為齣發點,用大量的實例來說明自動化實施的思 想與概念。
本書的寫作目的並不是為瞭簡單地告訴讀者如何使用一個自動化測試工具,這並非我 的初衷,我希望讀者在學習本書的內容後能提高綜閤的技術高度與寬度,從而擺脫簡單的 手工測試,嚮高級測試工程師的道路邁進。為此,我用瞭一定的章節來介紹 Python 的基礎 與應用、BDD 行為驅動、GitHub 的使用,以及持續集成工具的使用等。
本書能夠齣版首先需要感謝編輯安娜,她為本書的齣版提供瞭許多意見與幫助。其次, 需要感謝以往各期的學生,在傳授你們技術的過程中我同樣也收獲頗多。另外,還要感謝 王成成、符誌輝、張超、劉玉鳳、吳宇、許晶晶、李娜、李朋程等學生,是你們幫助我校 對瞭這本書中的內容。
蟲師
我本來對Python的自動化測試瞭解得不多,這本書簡直就像是一盞指路明燈。作者在開篇就為我搭建瞭一個堅實的基礎,從Python的語法基礎到Selenium的核心概念,都講解得非常清晰。我尤其喜歡書中關於“如何選擇閤適的定位策略”的那部分內容。它沒有簡單地羅列各種定位器,而是通過大量的圖文並茂的示例,詳細地講解瞭各種定位器的優缺點,以及在不同場景下的最佳實踐。我學會瞭如何更準確、更高效地定位頁麵元素,這大大提升瞭我的測試腳本的穩定性。 而且,書中還涉及到瞭很多高級話題,比如如何進行跨瀏覽器測試,如何處理 Ajax 異步加載的頁麵,以及如何集成持續集成工具 Jenkins。這些都是我在實際工作中經常會遇到的問題,而這本書提供瞭一套非常係統和完整的解決方案。我感覺這本書的內容非常紮實,而且非常貼近實際應用,絕對不是那種“紙上談兵”的書。讀完這本書,我感覺自己對Selenium的理解又上瞭一個颱階,對Python自動化測試也更有信心瞭。
評分我特彆喜歡書中關於“異常處理”那一部分的論述。在自動化測試過程中,各種突發狀況層齣不窮,比如網絡延遲、元素加載不及時、甚至頁麵結構發生微小變化,這些都可能導緻測試腳本失敗。作者在這本書中,花瞭相當大的篇幅來講解如何優雅地處理這些異常,他介紹的不僅僅是簡單的try-except塊,還深入探討瞭等待機製(顯式等待和隱式等待)的精妙運用,以及如何通過捕獲具體的異常類型來製定更精細化的應對策略。書中提供的幾個實戰案例,比如如何處理彈窗、如何應對動態加載的頁麵,都讓我學到瞭很多在官方文檔和零散博客中學不到的“內功”。 更讓我驚喜的是,作者還觸及到瞭測試報告的生成和分析。他介紹瞭如何集成第三方庫來生成更具可讀性的HTML報告,甚至還簡單地提及瞭如何進行數據可視化,讓測試結果一目瞭然。這對於項目匯報和團隊協作來說,無疑是極大的提升。我之前一直覺得自動化測試報告就是一堆堆的日誌,看完之後,纔意識到一個好的測試報告能傳遞多少有價值的信息。這本書的深度和廣度,遠超我最初的預期。
評分這本書,我幾乎是一口氣讀完的,雖然我本身不是一個深度技術讀者,但作者用非常生動形象的比喻,將那些枯燥的技術概念變得如同講故事一般。特彆是第一章,他沒有一開始就拋齣一堆復雜的代碼,而是先從自動化測試的“痛點”講起,讓我這種新手也能迅速理解為什麼需要它,以及它能解決什麼問題。然後,關於環境搭建的部分,作者給齣瞭非常詳細的步驟,並且貼心地列齣瞭可能遇到的各種問題和解決方案,這對於我這種初學者來說簡直是福音,省去瞭我大量查閱資料的時間。 更讓我印象深刻的是,書裏不僅僅是介紹API的用法,而是通過一個個真實的項目場景,展示瞭如何將這些API組閤起來,解決實際工作中遇到的問題。比如,在講到定位元素的時候,作者沒有僅僅羅列各種定位器,而是結閤瞭網頁的實際結構,分析瞭什麼時候用ID,什麼時候用CSS選擇器,又什麼時候需要XPath,而且還講解瞭如何調試和優化定位錶達式,這讓我在實際操作時能夠遊刃有餘。書中的代碼示例也非常清晰,注釋也很詳細,即使我沒有完全理解背後的原理,也能照著葫蘆畫瓢,成功實現一些基本的操作。
評分這本書給我最直觀的感受就是“實用主義”。作者似乎非常理解我們這些一綫測試工程師在實際工作中會遇到的各種“坑”,並且把這些經驗都毫無保留地分享瞭齣來。尤其是關於頁麵對象模型(POM)的設計模式,作者的講解非常透徹,他不僅解釋瞭POM的優點,還詳細演示瞭如何在Python中落地POM,並且還分享瞭在實際項目中,如何根據團隊規模和項目復雜度來選擇和調整POM的實現方式。 另外,書中關於數據驅動測試的章節也讓我受益匪淺。我之前一直以為數據驅動就是簡單地將數據寫在Excel裏,然後循環讀取。但作者在這本書裏,介紹瞭幾種不同的數據驅動方案,包括使用CSV文件、JSON文件,甚至還簡單提及瞭如何與數據庫集成。而且,他還在書中演示瞭如何通過參數化測試來提高測試用例的復用率,這對於我來說,是之前完全沒有想過的。這本書真的能幫助我把自動化測試做得更高效、更有條理。
評分說實話,我一開始拿到這本書,以為會是那種晦澀難懂的技術手冊。但讀瞭幾章之後,我發現我完全錯瞭。作者的寫作風格非常流暢,他總是能用最簡單易懂的語言解釋最復雜的技術概念。比如,在講到Page Objects時,他用瞭“房屋裝修”的比喻,讓我瞬間就理解瞭為什麼需要這種模式,以及它能帶來的好處。而且,書中穿插瞭很多小貼士和注意事項,這些細節之處,更能體現齣作者豐富的實踐經驗。 這本書給我最大的驚喜是,它不僅僅停留在“怎麼做”,更深入地探討瞭“為什麼這樣做”。作者在講解每一個技術點的時候,都會花時間去分析其背後的原理和設計思想。比如,在介紹WebDriver的生命周期時,他不僅僅告訴你如何初始化和關閉WebDriver,還解釋瞭為什麼要這樣做,以及在不同場景下,如何優化WebDriver的生命周期管理,以避免資源浪費和潛在的bug。這種深入淺齣的講解方式,讓我在掌握技術的同時,也能提升自己的思考深度。
評分買瞭到貨之後,粗略的看瞭一下,內容還可以。
評分很好很好,喜歡喜歡,大傢一起分享。
評分買瞭到貨之後,粗略的看瞭一下,內容還可以。
評分以前同事齣的書,果斷入手!乾貨滿滿,測試開發的必備好書,很贊。
評分書挺不錯的,章節很清楚,適閤初學者,京東的速度很快,質量有保障
評分還有就是快遞小哥服務態度很好,又專業又有禮貌,讓人感覺很舒服。畢竟自營基本見不到人,就最後一環送貨能見到快遞員,所以快遞員的態度直接影響購物過程。在京東購物過程總是很愉快。
評分現在公司正在搞自動化項目這塊,我們要用到的東西書上都有,書中代碼又全又多,特彆是其中接口自動化這塊,市場上還沒有一本這塊相關的書,本書算是填補瞭這個空白,所以我給5星好評,物超所值,希望作者大大以後齣更多的好書!
評分這本書分量很足,知識點總結到位,自我提升技能很重要,最近換新公司,正好可以實踐一下
評分想買本python的書,又想買本自動化的書,看好多人的推薦,都說這本書不錯,就買瞭,纔剛開始看,簡單易懂,深入淺齣,還是挺適閤我的。沒有往後看所以不知道後麵的內容是否需要上網看。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有