自動化測試實戰 -- 基於 TestNG \ JUnit \ Robot Framework \ Selenium
內容描述
《自動化測試實戰——基於TestNG/JUnit/Robot Framework/Selenium》共12章,
第1章首先以一個自動化測試用例為引子,接下來的10章對由此引申出的自動化測試中的多個熱門專題,
包括測試用例分層、數據驅動測試、關鍵字驅動測試、Page Object設計模式、等待
、斷言、測試報告、測試替身、並行執行、分佈式執行和持續集成等進行了詳細介紹,
第12章以展望的形式對自動化測試平台以及容器化和人工智能技術在自動化測試中的應用做了簡介。
《自動化測試實戰——基於TestNG/JUnit/Robot Framework/Selenium》
適合有一定編程語言和自動化測試基礎的中高級測試工程師、
自動化測試工程師、測試開發工程師以及測試管理者閱讀。
目錄大綱
目錄
第1章引例
1.1部署示例應用程序
1.1.1安裝JRE
1.1.2安裝H2
1.1.3安裝ZooKeeper
1.1.4啟動示例應用程序
1.2一個例子引發的思考
1.2.1準備
1.2.2編寫登錄測例
1.2. 3如何優化測例
第2章測例分層
2.1模塊化
2.1.1初步模塊化
2.1.2一步優化
2.2函數庫
2.2.1使用Maven私有倉庫
2.2.2發布函數庫
2.2.3使用函數庫
2.3精細化測例分層
第3章數據驅動測試
3.1 TestNG參數化測試
3.1.1使用@DataProvider註解
3.1.2使用@Parameters註解
3.1.3使用@Factory註解
3.2 JUnit參數化測試
3.2.1使用@ValueSource註解
3.2 .2使用@NullSource、@EmptySource和@NullAndEmptySource註解
3.2.3使用@EnumSource註解
3.2.4使用@MethodSource註解
3.2.5使用@CsvSource註解
3.2.6使用@CsvFileSource註解
3.2.7使用@ArgumentsSource和@ArgumentsSources註解
3.3使用不同的數據源
3.3.1使用CSV作為數據源
3.3.2使用Excel作為數據源
3.3.3使用Properties作為數據源
3.3.4使用YAML作為數據源
3.3.5使用數據庫作為數據源
第4章關鍵字驅動測試
4.1關鍵字簡介
4.2 Robot Framework關鍵字
4.2.1 BuiltIn關鍵字庫
4.2.2 Collections關鍵字庫
4.2.3 DateTime關鍵字庫
4.2.4 Dialogs關鍵字庫
4.2.5 Easter關鍵字庫
4.2.6 OperatingSystem關鍵字庫
4.2.7 Process關鍵字庫
4.2 .8 Remote關鍵字庫
4.2.9 Reserved關鍵字庫
4.2.10 Screenshot關鍵字庫
4.2.11 String關鍵字庫
4.2.12 Telnet關鍵字庫
4.2.13 XML關鍵字庫
4.2.14外部關鍵字庫
4.2.15自定義關鍵字庫
4.2.16用戶關鍵字
4.2 .17關鍵字的優先級
4.3實現關鍵字驅動測試框架
4.3.1實現關鍵字
4.3.2解析關鍵字
4.3.3執行關鍵字
4.3.4優化建議
第5章Page Object設計模式
5.1 Page Object設計模式簡介
5.2兩層建模
5.2.1頁面對象層
5.2.2測例層
5.3三層建模
5.3.1頁面對象層
5.3.2業務邏輯層
5.3.3測例層
5.4 Selenium支持
5.4.1使用PageFactory類
5.4 .2使用LoadableComponent>類
5.5優化建議
第6章等待的藝術
6.1 Java線程休眠
6.2隱式等待
6.2.1查找元素等待
6.2.2頁面加載等待
6.2.3異步執行JavaScript腳本等待
6.3顯式等待
6.3.1使用WebDriverWait類
6.3.2詳解內置等待條件
6.3.3使用FluentWait類
6.3.4實現自定義等待條件
第7章的斷言
7.1 Java斷言
7.2 TestNG斷言
7.2.1相等和不相等的斷言
7.2.2真和假的斷言
7.2.3空和非空的斷言
7.2.4相同和不相同的斷言
7.2.5拋出的斷言
7.2.6失敗的斷言
7.3 JUnit斷言
7.3.1準備
7.3.2相等和不相等的斷言
7.3.3真和假的斷言
7.3.4空和非空的斷言
7.3.5相同和不相同的斷言
7.3.6匹配的斷言
7.3.7多個結果的斷言
7.3.8超時的斷言
7.3.9拋出和不拋出的斷言
7.3 10失敗的斷言
7.4使用AssertJ斷言函數庫
7.5使用Hamcrest斷言函數庫
第8章測試報告
8.1 TestNG測試報告
8.1.1內置測試報告
8.1.2自定義測試報告
8.2使用Extent Reporting框架
8.2.1本地測試報告
8.2.2測試報告服務器
8.3使用Allure框架
8.3.1收集測試結果數據
8.3.2使用命令行工俱生成測試報告
8.3.3使用Maven插件生成測試報告
8.4使用郵件發送測試報告
8.4.1實現郵件發送客戶端
8.4.2發送測試報告
第9章測試替身
9.1測試替身簡介
9.2準備
9.2.1 Java EE應用程序分層模型
9.2.2規劃示例應用程序
9.3使用Dummy
9.4使用Stub
9.5使用Spy
9.6使用Mock
9.6.1單元測試的Mock
9.6.2 HTTP接口測試的Mock
9.6.3 Dubbo接口測試的Mock
9.7使用Fake
第10章提率
10.1使用無頭瀏覽器
10.1.1 PhantomJS和HtmlUnit
10.1.2 Chrome無頭模式
10.1.3 Firefox無頭模式
10.2 TestNG並行執行
10.2.1並行執行策略
10.2.2設置並行線程數
10.2.3設置超時時間
10.2.4覆蓋屬性
10.2.5使用@Test註解
10.2.6使用@DataProvider註解
10.3 JUnit並行執行
10.3.1並行執行策略
10.3.2設置並行線程數
10.3.3使用@ResourceLock註解
10.3.4使用@Execution註解
10.4 Selenium Grid
10.4.1準備
10.4.2控制台和配置
10.4.3分佈式執行
第11章持續集成、持續交付和持續部署
11.1持續集成、持續交付和持續部署簡介
11.2 Jenkins實現持續集成、持續交付和持續部署
11.2.1 Blue Ocean簡介
11.2.2使用普通流水線
11.2.3使用多分支流水線
11.3其他常用實踐
11.3.1郵件通知
11.3.2多節點構建
11.3.3集成第三方測試報告
第12章展望
12.1自動化測台
12.2自動化測試與容器化
12.3自動化測試與人工智能
作者介紹
盧家濤
精通自動化測試,負責過大型自動化測試項目的用例維護及整個公司自動化測試的實際項目落地。
除了自動化測試,也擅長全棧測試開發,原創開源項目有testauto、WFT和IMS等。
曾著有《全棧自動化測試實戰——基於TestNG、HttpClient、Selenium和Appium》一書,
並創辦公眾號“自動化測試理論和實戰”,分享技術經驗。