Selenium WebDriver自動化測試完全指南

Selenium WebDriver自動化測試完全指南

作者: 劉傲凡
出版社: 人民郵電
出版在: 2020-03-01
ISBN-13: 9787115526854
ISBN-10: 7115526850
裝訂格式: 平裝
總頁數: 268 頁





內容描述


Selenium是ThoughtWorks公司開發的*款用於Web應用程序測試的工具,
它憑藉支持多種瀏覽器、支持各種語言、跨平台、開源等優點得到了廣泛應用。
《Selenium WebDriver自動化測試完全指南》以Python 3.x為基礎,
借助多個案例項目介紹Selenium的用法,涵蓋內容採集、數據處理、單元測試等內容。
本書共分為17章,主要內容有安裝Selenium、頁面導航、元素定位、PhantomJS、
數據編解碼、單元測試、多線程、發送郵件、Selenium IDE、Python擴展、圖形化測試等。
本書每章都包含相應的實踐內容,而且在適當的位置還包含綜合性的實戰環節,
幫助讀者檢驗前面所學內容並活學活用。
《Selenium WebDriver自動化測試完全指南》內容通俗易懂,案例豐富,實用性強,
適合從事Python開發、大數據開發、爬蟲開發、前端開發以及測試等工作的人員閱讀。


目錄大綱


目錄:  
第1章安裝Selenium 1  
1.1 Selenium的優點1  
1.2 Selenium WebDriver 3  
1.3在Windows和Linux操作系統上安裝Selenium 5  
1.3.1 Windows操作系統上Python的安裝說明5  
1.3.2 Linux操作系統上Python的安裝說明7  
第2章頁面導航8  
2.1啟動瀏覽器8  
2.2打開頁面10  
2.3瀏覽器基本操作11  
2.4拖動窗口12  
2.5 cookie的調用14  
2.6使用多個窗口16  
2.7參考網站17  
第3章元素定位19  
3.1元素定位概述19  
3.2根據ID定位20  
3.3根據name定位23  
3.4根據XPath定位24  
3.5根據標籤名定位26  
3.6根據類名定位28  
3.7根據CSS選擇器定位30  
3.8根據鏈接文本定位31  
3.9根據部分鏈接文本定位32  
第4章利器——PhantomJS 34  
4.1 PhantomJS 34  
4.2下載與安裝PhantomJS 35  
4.2.1在Windows操作系統上安裝PhantomJS 35  
4.2.2在Linux操作系統上安裝PhantomJS 35  
4.2.3檢驗安裝36  
4.3配置相應的WebDriver 36  
4.4第一個PhantomJS小程序37  
4.5通過time.sleep()慢下來40  
4.6 PhantomJS的命令行參數41  
4.7其他問題42  
4.7.1中文編碼問題42  
4.7.2不同frame間的轉換42  
4.7.3 PhantomJS進程不會自動退出42  
第5章基於Python官網的實戰43  
5.1通過Selenium訪問Python官網43  
5.2通過JavaScript修改Python官網的標題44  
5.3在搜索框搜索45  
5.4獲取latest news部分46  
5.5 Selenium的等待48  
第6章基於現在頭條的實戰52  
6.1通過Selenium訪問百度熱詞52  
6.2通過Selenium搜索相關熱詞54  
6.3獲取第一條結果55  
6.4定位元素——抓取內容57  
6.5存儲數據59  
第7章數據的編解碼和處理64  
7.1讀寫CSV文件64  
7.2讀寫JSON文件66  
7.3將字典轉化為XML 70  
7.4解析XML 72  
7.5 Base64編碼74  
7.6詞性分析、統計分析NLTK 75  
7.7散列表82  
7.8布隆過濾器83  
7.9關係數據庫MySQL 86  
7.9.1安裝MySQL 86  
7.9.2 MySQL常用命令89  
7.10非關係型數據庫98  
7.11總結98  
第8章基於貓眼電影的實戰100  
8.1網站分析100  
8.2 *初的測試代碼103  
8.3進一步完善之後的測試代碼105  
第9章基於淘寶商品的實戰109  
9.1準備工作109  
9.2流程簡述110  
9.3代碼解讀112  
9.4可配置項118  
第10章單元測試120  
10.1為什麼要寫單元測試120  
10.2怎樣寫單元測試121  
10.3單元測試的演示121  
10.4單元測試示例124  
10.5 Selenium的單元測試127  
10.6美化報告128  
第11章多線程132  
11.1什麼是進程線程132  
11.2單線程與多線程的對比133  
11.3實際體驗133  
11.4 threading庫中常用的函數137  
11.5鎖的概念138  
11.6主程序是線程還是進程140  
11.7更多解決方案140  
11.8基於多線程和Selenium的示例141  
11.9 GIL 142  
第12章發送郵件143  
12.1通信的選擇143  
12.2獲取授權碼144  
12.3發送郵件145  
第13章Selenium IDE 149  
13.1安裝Selenium IDE 149  
13.2 Selenium IDE 151  
13.3 Katalon Recorder 155  
13.3.1 Katalon Recorder的界面155  
13.3.2實例與步驟157  
13.4數據驅動159  
13.5擴展腳本161  
13.5.1添加擴展腳本161  
13.5.2定位器構建器161  
13.5.3定位器構建的自定義順序162  
13.5.4 Prototype附加命令162  
13.6 Katalon Recorder Helper工具163 
 
第14章Python擴展165  
14.1 2to3工具165  
14.2測試類型166  
14.3通配符類型167  
14.4 str方法168  
14.5異常層次結構169  
14.6兼容Python 2和Python 3 171  
14.7兼容性代碼172  
14.7.1導入庫172  
14.7.2輸出函數172  
14.7.3異常捕獲173  
14.8類相關173  
14.9推導式174  
14.10經典除法和真除法176  
14.11 future 176  
14.12類型轉換和關鍵字177  
第15章GUI測試179  
15.1 tkinter測試179  
15.2創建界面180  
15.3按鈕181  
15.4 pack屬性182  
15.5繼承類183  
15.6複選框和單選按鈕185  
15.7 Entry輸入框187  
15.8列錶框193  
15.9 Text控件196  
15.10 Canvas控件200  
15.11 Menu控件203  
15.12 spinbox控件206  
15.13 messagebox 207  
15.14 filedialog 208  
15.15 Message 209  
15.16 tkinter界面佈局210  
15.17 tkinter支持的模塊211  
15.18 _tkinter接口212  
15.19 tkinter.ttk 212  
15.20底層實現流程212  
第16章基於知乎的實戰214  
16.1知乎分析214  
16.2文字部分217  
16.3圖片部分221  
16.4建議227  
16.4.1從乾淨的狀態開始227  
16.4.2測試的隔離228  
16.4.3 Anaconda 228  
16.4.4報告229  
16.4.5 IP代理229  
16.4.6過濾請求230  
16.5一些注意事項231  
16.5.1 CAPTCHA 231  
16.5.2性能測試231  
16.5.3六度分割理論及其實際使用232  
16.5.4 HTTP狀態碼232  
16.6常見問題234  
16.6.1元素定位失敗234  
16.6.2 WebDriver調用失敗237  
第17章基於新浪微博的實戰238  
17.1新浪微博分析238  
17.2實現思路240  
17.3代碼改進247  
17.4結語251  
附錄A如何閱讀源代碼252  
附錄B Git分佈式計算256


作者介紹


劉傲凡
精通互聯網技術和計算機爬蟲技術,熟悉網頁抓取原理及技術,
並在HTML、JavaScript、正則表達式、Jsoup、jQuery等方面有深入研究,
還對WebMagic框架、PhantomJS、Headless Chrome、
Selenium WebDriver等前沿技術保持著極高的熱情和濃厚的興趣。
作者曾於《中山大學研究生學刊》發表論文“基於大數據的問答網站用戶質量與數量的關係淺析——以知乎為例”。
同時,作者深刻理解驗證碼識別、數據挖掘、數據存儲等技術,曾協助多家企業搭建分佈式爬蟲架構。




相關書籍

軟件測試技術基礎教程 理論、方法與工具, 2/e (微課版)

作者 匯智動力

2020-03-01

軟件測試專項技術 基於 Web、移動應用和微信

作者 51Testing軟件測試網

2020-03-01

Working Effectively with Unit Tests

作者 Jay Fields

2020-03-01