舉報

會員
pytest框架與自動化測試應用
最新章節:
12.7 本章小結
pytest是Python的第三方測試框架,可以實現軟件測試各層次自動化。本書系統講述pytest的主要技術及在各層次自動化測試的應用。第1章介紹pytest框架。第2章講解框架運行管理及對測試用例、斷言的管理,運行管理中包括各種形式和層次的執行,展示框架的靈活性和全面性。第3章詳細介紹框架的核心技術fixture,fixture使用依賴注入技術完成方法、類、文件級、會話級關聯、數據關聯和共享,可完美解決各種情況耦合和共享。第4章結合測試中最重要的數據驅動技術產生的參數化技術,并配合fixture技術實現一組代碼多組數據的數據與代碼分離技術。第5章系統講解各種實用插件。第6~10章是實踐,從單元自動化測試、接口自動化測試、Web端自動化測試及App自動化測試計劃開始,講解設計、實現到執行的全流程。第11章介紹BDD,讓非技術人員也能參與測試的全過程。第12章介紹pytest一些相關配置。本書可作為從事軟件自動化測試的技術人員的參考書籍,也可作為高等院校,高職類軟件工程中質量保證的參考書籍。
最新章節
- 12.7 本章小結
- 12.6.3 pytest_terminal_summary
- 12.6.2 pytest_collection_modifyitems改變用例執行順序
- 12.6.1 pytest_runtest_makereport修改測試報告內容
- 12.6 鉤子——Hook方法的作用
- 12.5.6 修改MonkeyPatching字典
品牌:清華大學
上架時間:2023-08-31 19:16:46
出版社:清華大學出版社
本書數字版權由清華大學提供,并由其授權上海閱文信息技術有限公司制作發行
- 12.7 本章小結 更新時間:2023-08-31 20:28:14
- 12.6.3 pytest_terminal_summary
- 12.6.2 pytest_collection_modifyitems改變用例執行順序
- 12.6.1 pytest_runtest_makereport修改測試報告內容
- 12.6 鉤子——Hook方法的作用
- 12.5.6 修改MonkeyPatching字典
- 12.5.5 修改MonkeyPatching環境變量
- 12.5.4 修改MonkeyPatching函數功能或者類屬性
- 12.5.3 MonkeyPatching返回的對象:臨時修改全局配置
- 12.5.2 Mock類的原型
- 12.5.1 使用Mock對象模擬測試情景
- 12.5 Mock
- 12.4.3 在測試用例中訪問捕獲到的信息
- 12.4.2 修改和去掉捕獲行為
- 12.4.1 標準輸出/標準錯誤輸出/標準輸入的默認捕獲行為
- 12.4 輸出及捕獲級別配置
- 12.3.4 tmpdir_factory
- 12.3.3 tmpdir
- 12.3.2 tmp_path_factory
- 12.3.1 tmp_path
- 12.3 內置fixture之臨時目錄
- 12.2.8 通過觸發警告自定義失敗時的提示消息
- 12.2.7 命令行選項參數去掉警告信息
- 12.2.6 設置pytestmark變量實現添加警告
- 12.2.5 使用@pytest.mark.filterwarnings裝飾器實現警告忽略
- 12.2.4 通過pytest.ini設置filterwarnings實現
- 12.2.3 將警告轉換成異常失敗
- 12.2.2 命令行配置警告是否捕獲
- 12.2.1 警告信息的默認捕獲行為
- 12.2 警告相關配置
- 12.1.14 required_plugins需要的插件
- 12.1.13 minversion的設置及限制
- 12.1.12 添加pytest執行默認參數選項
- 12.1.11 log相關配置
- 12.1.10 filterwarnings警告過濾
- 12.1.9 cache_dir緩存目錄設置
- 12.1.8 xfail_strict不是預期的失敗顯示FAILED
- 12.1.7 console_output_style輸出樣式配置
- 12.1.6 ids中解決中文顯示亂碼問題
- 12.1.5 修改測試用例的搜索匹配規則
- 12.1.4 usefixtures的默認配置
- 12.1.3 指定pytest忽略哪些搜索目錄
- 12.1.2 添加測試用例路徑
- 12.1.1 @pytest.marker標記用例
- 12.1 pytest中的各種配置
- 第12章 pytest.ini配置及其他配置
- 11.6 本章小結
- 11.5.10 BDD UI自動化測試實踐:selenium和pytest-bdd實現搜索功能參數化
- 11.5.9 BDD UI自動化測試實踐:selenium和pytest-bdd實現搜索功能
- 11.5.8 BDD接口測試實踐:requests和pytest-bdd實現bing的搜索接口
- 11.5.7 BDD單元測試實踐:數據參數化
- 11.5.6 BDD單元測試實踐:添加和刪除功能(數據通過參數傳遞)
- 11.5.5 BDD單元測試實踐:添加功能(單一數據)
- 11.5.4 BDD實現步驟
- 11.5.3 BDD的標準語法
- 11.5.2 pytest-bdd的項目結構
- 11.5.1 pytest-bdd安裝
- 11.5 pytest-bdd實現BDD開發
- 11.4 中國BDD現狀
- 11.3 BDD的功能和作用
- 11.2 BDD開發過程
- 11.1 什么是BDD
- 第11章 行為驅動開發(BDD)實現自動化測試
- 附:本次運行的部分appium日志翻譯
- 10.3.16 實現持續集成——在Jenkins運行測試代碼
- 10.3.15 組織測試用例(添加運行標記)
- 10.3.14 在測試用例中添加log日志
- 10.3.13 在文件中讀取配置文件數據
- 10.3.12 封裝的一些公共的方法
- 10.3.11 使用Allure標簽定制報告
- 10.3.10 使用yaml文件及pytest中的parametrize作為數據驅動程序
- 10.3.9 使用PO的方式建立測試類
- 10.3.8 結合pytest的特性建立公共數據共享文件conftest.py
- 10.3.7 使用PO方式建立每個頁面或功能的元素操作方法類
- 10.3.6 使用PO方式建立元素操作方法基類
- 10.3.5 使用PO方式建立元素定位locators類
- 10.3.4 使用各種工具進行元素定位
- 10.3.3 連接App的配置及啟動App
- 10.3.2 建立目錄結構
- 10.3.1 安裝所需要的包和插件
- 10.3 使用pytest和Allure建立App自動化混合框架
- 10.2.7 appium-doctor環境檢查
- 10.2.6 安裝appium-client
- 10.2.5 安裝appium-desktop
- 10.2.4 安裝模擬器或連接真機
- 10.2.3 安裝AndroidSDK
- 10.2.2 安裝和驗證Node.js
- 10.2.1 安裝和驗證Java JDK——Windows系統
- 10.2 App自動化測試環境的搭建
- 10.1 App自動化測試框架選擇
- 第10章 App自動化測試項目實踐
- 9.6 本章小結
- 9.5.4 使用BlueOcean配置Python自動化測試
- 9.5.3 使用pipeline配置Python自動化測試
- 9.5.2 使用自由風格配置Python自動化測試
- 9.5.1 Jenkins 2實現自動化執行測試及持續集成流程
- 9.5 Web自動化測試本地環境持續集成
- 9.4.8 生成Allure報告
- 9.4.7 測試執行
- 9.4.6 編寫測試用例
- 9.4.5 提高代碼的復用性和靈活性——封裝
- 9.4.4 頁面元素操作
- 9.4.3 頁面元素定位
- 9.4.2 創建工程目錄
- 9.4.1 自動化測試準備
- 9.4 整合Web自動化測試框架
- 9.3.3 Selenium框架技術簡述
- 9.3.2 Web自動化測試框架Selenium介紹
- 9.3.1 自動化測試要達到的目標和涉及的技術
- 9.3 Web項目自動化原理及Web測試框架
- 9.2.2 人力資源管理系統介紹
- 9.2.1 人力資源管理系統安裝
- 9.2 被測試系統的安裝和介紹
- 9.1 Web自動化測試及持續集成源起
- 第9章 Web自動化測試持續集成實踐
- 8.5 本章小結
- 8.4 使用pytest進行各種執行
- 8.3 使用Allure定制報告
- 8.2.5 fixture的依賴接口需要測試,也需要參數化
- 8.2.4 關聯接口數據傳遞及更新刪除接口測試
- 8.2.3 讀取yaml數據文件進行parametrize
- 8.2.2 使用conftest共享數據
- 8.2.1 使用get()、post()方法發送請求,返回響應
- 8.2 執行測試
- 8.1.2 接口測試用例設計
- 8.1.1 熟悉接口文檔以便獲取信息
- 8.1 測試微信公眾號接口
- 第8章 API自動化測試實踐
- 7.6 本章小結
- 7.5.4 類的單元測試
- 7.5.3 類持續開發:功能的增加及修改
- 7.5.2 開發的調用
- 7.5.1 類的說明
- 7.5 單元測試一個類
- 7.4 單元測試一個函數
- 7.3 單元測試與質量
- 7.2 pytest測試框架是單元測試的框架
- 7.1 什么是單元測試
- 第7章 單元自動化測試實踐
- 6.6 本章小結
- 6.5.8 重試信息展示
- 6.5.7 嚴重性標記
- 6.5.6 自定義各種標簽
- 6.5.5 各種鏈接
- 6.5.4 定制測試標題
- 6.5.3 定制各種類型內容描述
- 6.5.2 不同類型的附件補充測試說明
- 6.5.1 定制詳細的步驟說明
- 6.5 定制測試報告
- 6.4.5 Allure的幫助說明
- 6.4.4 Allure的簡單用法
- 6.4.3 Allure在Mac OS系統下安裝
- 6.4.2 Allure在Linux環境下安裝
- 6.4.1 Allure在Windows系統下安裝
- 6.4 Allure的初體驗
- 6.3.7 包
- 6.3.6 時間軸
- 6.3.5 圖形
- 6.3.4 功能
- 6.3.3 測試套件
- 6.3.2 類別
- 6.3.1 總覽
- 6.3 Allure報告組成
- 6.2 Allure如何生成測試報告
- 6.1 Allure框架介紹
- 第6章 與Allure框架結合定制測試報告
- 5.5 本章小結
- 5.4.3 通過名稱停用/注銷插件
- 5.4.2 找出哪些插件處于活動狀態
- 5.4.1 在測試模塊或conftest文件中加載插件
- 5.4 插件管理
- 5.3.18 pytest-xdist測試并發執行
- 5.3.17 pytest-timeout設置超時時間
- 5.3.16 pytest-selenium瀏覽器兼容性測試
- 5.3.15 pytest-sugar顯示彩色進度條
- 5.3.14 pytest-random-order隨機順序執行
- 5.3.13 pytest-repeat重復運行測試
- 5.3.12 pytest-rerunfailures失敗重試
- 5.3.11 pytest-picked運行未提交git的用例
- 5.3.10 pytest-pep8自動檢測代碼規范
- 5.3.9 pytest-ordering調整執行順序
- 5.3.8 pytest-mock模擬未實現的部分
- 5.3.7 pytest-instafail用于用例失敗時立刻顯示錯誤信息
- 5.3.6 pytest-httpserver模擬HTTP服務
- 5.3.5 pytest-html生成HTML報告
- 5.3.4 pytest-flakes靜態代碼檢查
- 5.3.3 pytest-freezegun冰凍時間
- 5.3.2 pytest-cov測試覆蓋率
- 5.3.1 pytest-assume斷言報錯后依然執行
- 5.3 常用插件的使用
- 5.2 常見插件介紹
- 5.1 pytest的插件安裝
- 第5章 pytest的相關插件及插件管理
- 4.10 本章小結
- 4.9 pytest_generate_tests鉤子方法
- 4.8.2 未指定scope
- 4.8.1 module級別
- 4.8 scope參數
- 4.7.6 ids的作用
- 4.7.5 ids的覆蓋
- 4.7.4 通過函數生成ids
- 4.7.3 ids中使用中文
- 4.7.2 ids相同
- 4.7.1 ids的長度
- 4.7 ids參數
- 4.6 indirect參數
- 4.5.2 使用pytest.param為argvalues賦值
- 4.5.1 argvalues來源于Excel文件
- 4.5 argvalues參數
- 4.4.2 argnames調用覆蓋同名的fixture
- 4.4.1 argnames與測試方法中的參數關系
- 4.4 argnames參數
- 4.3 parametrize源碼詳細講解
- 4.2.5 pytestmark實現參數化
- 4.2.4 參數化與fixture的結合
- 4.2.3 多個參數化
- 4.2.2 多參數應用
- 4.2.1 單一參數化應用
- 4.2 參數化的應用
- 4.1 參數化介紹
- 第4章 pytest的數據驅動和參數傳遞
- 3.13 本章小結
- 3.12.4 參數化的fixture可重寫非參數化的fixture,反之亦然
- 3.12.3 在用例參數中重寫fixture
- 3.12.2 在模塊層級重寫fixture
- 3.12.1 在文件夾(conftest.py)層級重寫fixture
- 3.12 在不同的層級上重寫fixture
- 3.11.5 高效地利用fixture實例
- 3.11.4 fixture返回工廠函數
- 3.11.3 多個fixture的實例化順序
- 3.11.2 嵌套調用fixture
- 3.11.1 并列使用fixture
- 3.11 fixture的并列與嵌套調用
- 3.10 第三方插件通過文件夾共享測試數據
- 3.9.3 數據庫自動應用的實例
- 3.9.2 使用@pytest.mark.usefixtures
- 3.9.1 使用fixture中參數autouse=True實現
- 3.9 自動調用fixture
- 3.8.5 params綜合實例
- 3.8.4 params與ids的應用
- 3.8.3 有效測試數據與預期失敗xfail的測試數據
- 3.8.2 二(多)個測試方法共用兩個簡單測試數據
- 3.8.1 測試方法使用兩個簡單測試數據
- 3.8 使用params傳遞不同數據
- 3.7.4 session級別實例
- 3.7.3 會話(session)級別使用fixture與conftest.py配合
- 3.7.2 類(class)級別使用fixture實例
- 3.7.1 模塊(module)級別使用fixture實例
- 3.7 不同層級scope使用fixture實例
- 3.6 fixture方法源碼詳細講解
- 3.5.4 yield與addfinalizer的區別
- 3.5.3 使用addfinalizer方法
- 3.5.2 使用with寫法
- 3.5.1 使用yield代替return
- 3.5 fixture應用在配置銷毀
- 3.4 fixture應用在初始化設置
- 3.3 fixture基本的依賴注入功能
- 3.2 fixture目標
- 3.1 fixture介紹
- 第3章 pytest中最閃亮的fixture功能
- 2.11 本章小結
- 2.10.6 測試人員采用的解決策略
- 2.10.5 可以重新運行的插件
- 2.10.4 pytest_CURRENT_TEST
- 2.10.3 pytest為我們提供的解決策略
- 2.10.2 潛在的根本原因是什么
- 2.10.1 為什么不穩定測試是個問題
- 2.10 不穩定測試用例處理
- 2.9.2 創建及定制JUnitXML格式的測試報告
- 2.9.1 分析測試執行時間
- 2.9 結果分析及報告
- 2.8.5 錯誤句柄
- 2.8.4 使用內置的中斷函數
- 2.8.3 設置斷點
- 2.8.2 開始執行時就加載PDB環境
- 2.8.1 失敗時加載PDB環境
- 2.8 中斷調試及錯誤處理
- 2.7.3 xfail標記如何失效
- 2.7.2 使用pytest.xfail標記用例
- 2.7.1 @pytest.mark.xfail標記用例
- 2.7 標記用例為預期失敗
- 2.6.8 各種跳過小結
- 2.6.7 跳過指定文件或目錄
- 2.6.6 跳過測試模塊
- 2.6.5 跳過測試類
- 2.6.4 pytest.importorskip方法
- 2.6.3 @pytest.mark.skipif裝飾器
- 2.6.2 pytest.skip方法
- 2.6.1 @pytest.mark.skip裝飾器
- 2.6 跳過skip測試用例的執行
- 2.5.2 失敗運行管理的原理
- 2.5.1 最多允許失敗的測試用例數
- 2.5 運行的失敗管理
- 2.4.16 修改回溯信息的輸出模式
- 2.4.15 執行指定包中的測試用例
- 2.4.14 -m參數執行指定標記的用例
- 2.4.13 執行指定nodeid的測試用例
- 2.4.12 -k參數執行包含特定關鍵字的測試用例
- 2.4.11 執行指定目錄下所有的測試用例
- 2.4.10 執行指定的測試用例
- 2.4.9 顯示簡單總結結果
- 2.4.8 不顯示詳細信息
- 2.4.7 顯示詳細信息
- 2.4.6 輸出代碼中的控制臺信息
- 2.4.5 pytest執行結束時返回的狀態碼
- 2.4.4 在Python代碼中調用pytest
- 2.4.3 通過python -m pytest調用pytest
- 2.4.2 最常用運行測試用例方式
- 2.4.1 獲取幫助信息
- 2.4 測試用例的運行管理
- 2.3.6 Assert各種類型斷言
- 2.3.5 為失敗斷言添加自定義的說明
- 2.3.4 觸發一個指定異常的斷言
- 2.3.3 斷言的分類與使用
- 2.3.2 斷言的時機
- 2.3.1 什么是斷言
- 2.3 測試用例的斷言管理
- 2.2 用例執行順序
- 2.1 測試用例的命名管理
- 第2章 pytest的測試用例管理及運行管理
- 1.6 本章小結
- 1.5 執行的查找原則和測試類及測試方法的命名
- 1.4.8 運行窗口的工具欄含義
- 1.4.7 PyCharm中執行某個測試方法
- 1.4.6 去掉main方法執行測試
- 1.4.5 右擊以pytest方式執行代碼
- 1.4.4 在PyCharm中配置運行工具
- 1.4.3 pytest的框架結構
- 1.4.2 在PyCharm建立測試方法及執行過程
- 1.4.1 在終端建立測試方法及執行過程
- 1.4 pytest初體驗
- 1.3.2 安裝pytest
- 1.3.1 Python的環境驗證
- 1.3 環境準備及資料準備
- 1.2.2 適合人群
- 1.2.1 技術前提
- 1.2 技術前提要求
- 1.1.3 什么是pytest
- 1.1.2 測試框架的分類
- 1.1.1 測試框架能為我們解決什么問題
- 1.1 pytest框架引入
- 第1章 pytest框架介紹
- 前言PREFACE
- 作者簡介
- 版權信息
- 封面
- 封面
- 版權信息
- 作者簡介
- 前言PREFACE
- 第1章 pytest框架介紹
- 1.1 pytest框架引入
- 1.1.1 測試框架能為我們解決什么問題
- 1.1.2 測試框架的分類
- 1.1.3 什么是pytest
- 1.2 技術前提要求
- 1.2.1 技術前提
- 1.2.2 適合人群
- 1.3 環境準備及資料準備
- 1.3.1 Python的環境驗證
- 1.3.2 安裝pytest
- 1.4 pytest初體驗
- 1.4.1 在終端建立測試方法及執行過程
- 1.4.2 在PyCharm建立測試方法及執行過程
- 1.4.3 pytest的框架結構
- 1.4.4 在PyCharm中配置運行工具
- 1.4.5 右擊以pytest方式執行代碼
- 1.4.6 去掉main方法執行測試
- 1.4.7 PyCharm中執行某個測試方法
- 1.4.8 運行窗口的工具欄含義
- 1.5 執行的查找原則和測試類及測試方法的命名
- 1.6 本章小結
- 第2章 pytest的測試用例管理及運行管理
- 2.1 測試用例的命名管理
- 2.2 用例執行順序
- 2.3 測試用例的斷言管理
- 2.3.1 什么是斷言
- 2.3.2 斷言的時機
- 2.3.3 斷言的分類與使用
- 2.3.4 觸發一個指定異常的斷言
- 2.3.5 為失敗斷言添加自定義的說明
- 2.3.6 Assert各種類型斷言
- 2.4 測試用例的運行管理
- 2.4.1 獲取幫助信息
- 2.4.2 最常用運行測試用例方式
- 2.4.3 通過python -m pytest調用pytest
- 2.4.4 在Python代碼中調用pytest
- 2.4.5 pytest執行結束時返回的狀態碼
- 2.4.6 輸出代碼中的控制臺信息
- 2.4.7 顯示詳細信息
- 2.4.8 不顯示詳細信息
- 2.4.9 顯示簡單總結結果
- 2.4.10 執行指定的測試用例
- 2.4.11 執行指定目錄下所有的測試用例
- 2.4.12 -k參數執行包含特定關鍵字的測試用例
- 2.4.13 執行指定nodeid的測試用例
- 2.4.14 -m參數執行指定標記的用例
- 2.4.15 執行指定包中的測試用例
- 2.4.16 修改回溯信息的輸出模式
- 2.5 運行的失敗管理
- 2.5.1 最多允許失敗的測試用例數
- 2.5.2 失敗運行管理的原理
- 2.6 跳過skip測試用例的執行
- 2.6.1 @pytest.mark.skip裝飾器
- 2.6.2 pytest.skip方法
- 2.6.3 @pytest.mark.skipif裝飾器
- 2.6.4 pytest.importorskip方法
- 2.6.5 跳過測試類
- 2.6.6 跳過測試模塊
- 2.6.7 跳過指定文件或目錄
- 2.6.8 各種跳過小結
- 2.7 標記用例為預期失敗
- 2.7.1 @pytest.mark.xfail標記用例
- 2.7.2 使用pytest.xfail標記用例
- 2.7.3 xfail標記如何失效
- 2.8 中斷調試及錯誤處理
- 2.8.1 失敗時加載PDB環境
- 2.8.2 開始執行時就加載PDB環境
- 2.8.3 設置斷點
- 2.8.4 使用內置的中斷函數
- 2.8.5 錯誤句柄
- 2.9 結果分析及報告
- 2.9.1 分析測試執行時間
- 2.9.2 創建及定制JUnitXML格式的測試報告
- 2.10 不穩定測試用例處理
- 2.10.1 為什么不穩定測試是個問題
- 2.10.2 潛在的根本原因是什么
- 2.10.3 pytest為我們提供的解決策略
- 2.10.4 pytest_CURRENT_TEST
- 2.10.5 可以重新運行的插件
- 2.10.6 測試人員采用的解決策略
- 2.11 本章小結
- 第3章 pytest中最閃亮的fixture功能
- 3.1 fixture介紹
- 3.2 fixture目標
- 3.3 fixture基本的依賴注入功能
- 3.4 fixture應用在初始化設置
- 3.5 fixture應用在配置銷毀
- 3.5.1 使用yield代替return
- 3.5.2 使用with寫法
- 3.5.3 使用addfinalizer方法
- 3.5.4 yield與addfinalizer的區別
- 3.6 fixture方法源碼詳細講解
- 3.7 不同層級scope使用fixture實例
- 3.7.1 模塊(module)級別使用fixture實例
- 3.7.2 類(class)級別使用fixture實例
- 3.7.3 會話(session)級別使用fixture與conftest.py配合
- 3.7.4 session級別實例
- 3.8 使用params傳遞不同數據
- 3.8.1 測試方法使用兩個簡單測試數據
- 3.8.2 二(多)個測試方法共用兩個簡單測試數據
- 3.8.3 有效測試數據與預期失敗xfail的測試數據
- 3.8.4 params與ids的應用
- 3.8.5 params綜合實例
- 3.9 自動調用fixture
- 3.9.1 使用fixture中參數autouse=True實現
- 3.9.2 使用@pytest.mark.usefixtures
- 3.9.3 數據庫自動應用的實例
- 3.10 第三方插件通過文件夾共享測試數據
- 3.11 fixture的并列與嵌套調用
- 3.11.1 并列使用fixture
- 3.11.2 嵌套調用fixture
- 3.11.3 多個fixture的實例化順序
- 3.11.4 fixture返回工廠函數
- 3.11.5 高效地利用fixture實例
- 3.12 在不同的層級上重寫fixture
- 3.12.1 在文件夾(conftest.py)層級重寫fixture
- 3.12.2 在模塊層級重寫fixture
- 3.12.3 在用例參數中重寫fixture
- 3.12.4 參數化的fixture可重寫非參數化的fixture,反之亦然
- 3.13 本章小結
- 第4章 pytest的數據驅動和參數傳遞
- 4.1 參數化介紹
- 4.2 參數化的應用
- 4.2.1 單一參數化應用
- 4.2.2 多參數應用
- 4.2.3 多個參數化
- 4.2.4 參數化與fixture的結合
- 4.2.5 pytestmark實現參數化
- 4.3 parametrize源碼詳細講解
- 4.4 argnames參數
- 4.4.1 argnames與測試方法中的參數關系
- 4.4.2 argnames調用覆蓋同名的fixture
- 4.5 argvalues參數
- 4.5.1 argvalues來源于Excel文件
- 4.5.2 使用pytest.param為argvalues賦值
- 4.6 indirect參數
- 4.7 ids參數
- 4.7.1 ids的長度
- 4.7.2 ids相同
- 4.7.3 ids中使用中文
- 4.7.4 通過函數生成ids
- 4.7.5 ids的覆蓋
- 4.7.6 ids的作用
- 4.8 scope參數
- 4.8.1 module級別
- 4.8.2 未指定scope
- 4.9 pytest_generate_tests鉤子方法
- 4.10 本章小結
- 第5章 pytest的相關插件及插件管理
- 5.1 pytest的插件安裝
- 5.2 常見插件介紹
- 5.3 常用插件的使用
- 5.3.1 pytest-assume斷言報錯后依然執行
- 5.3.2 pytest-cov測試覆蓋率
- 5.3.3 pytest-freezegun冰凍時間
- 5.3.4 pytest-flakes靜態代碼檢查
- 5.3.5 pytest-html生成HTML報告
- 5.3.6 pytest-httpserver模擬HTTP服務
- 5.3.7 pytest-instafail用于用例失敗時立刻顯示錯誤信息
- 5.3.8 pytest-mock模擬未實現的部分
- 5.3.9 pytest-ordering調整執行順序
- 5.3.10 pytest-pep8自動檢測代碼規范
- 5.3.11 pytest-picked運行未提交git的用例
- 5.3.12 pytest-rerunfailures失敗重試
- 5.3.13 pytest-repeat重復運行測試
- 5.3.14 pytest-random-order隨機順序執行
- 5.3.15 pytest-sugar顯示彩色進度條
- 5.3.16 pytest-selenium瀏覽器兼容性測試
- 5.3.17 pytest-timeout設置超時時間
- 5.3.18 pytest-xdist測試并發執行
- 5.4 插件管理
- 5.4.1 在測試模塊或conftest文件中加載插件
- 5.4.2 找出哪些插件處于活動狀態
- 5.4.3 通過名稱停用/注銷插件
- 5.5 本章小結
- 第6章 與Allure框架結合定制測試報告
- 6.1 Allure框架介紹
- 6.2 Allure如何生成測試報告
- 6.3 Allure報告組成
- 6.3.1 總覽
- 6.3.2 類別
- 6.3.3 測試套件
- 6.3.4 功能
- 6.3.5 圖形
- 6.3.6 時間軸
- 6.3.7 包
- 6.4 Allure的初體驗
- 6.4.1 Allure在Windows系統下安裝
- 6.4.2 Allure在Linux環境下安裝
- 6.4.3 Allure在Mac OS系統下安裝
- 6.4.4 Allure的簡單用法
- 6.4.5 Allure的幫助說明
- 6.5 定制測試報告
- 6.5.1 定制詳細的步驟說明
- 6.5.2 不同類型的附件補充測試說明
- 6.5.3 定制各種類型內容描述
- 6.5.4 定制測試標題
- 6.5.5 各種鏈接
- 6.5.6 自定義各種標簽
- 6.5.7 嚴重性標記
- 6.5.8 重試信息展示
- 6.6 本章小結
- 第7章 單元自動化測試實踐
- 7.1 什么是單元測試
- 7.2 pytest測試框架是單元測試的框架
- 7.3 單元測試與質量
- 7.4 單元測試一個函數
- 7.5 單元測試一個類
- 7.5.1 類的說明
- 7.5.2 開發的調用
- 7.5.3 類持續開發:功能的增加及修改
- 7.5.4 類的單元測試
- 7.6 本章小結
- 第8章 API自動化測試實踐
- 8.1 測試微信公眾號接口
- 8.1.1 熟悉接口文檔以便獲取信息
- 8.1.2 接口測試用例設計
- 8.2 執行測試
- 8.2.1 使用get()、post()方法發送請求,返回響應
- 8.2.2 使用conftest共享數據
- 8.2.3 讀取yaml數據文件進行parametrize
- 8.2.4 關聯接口數據傳遞及更新刪除接口測試
- 8.2.5 fixture的依賴接口需要測試,也需要參數化
- 8.3 使用Allure定制報告
- 8.4 使用pytest進行各種執行
- 8.5 本章小結
- 第9章 Web自動化測試持續集成實踐
- 9.1 Web自動化測試及持續集成源起
- 9.2 被測試系統的安裝和介紹
- 9.2.1 人力資源管理系統安裝
- 9.2.2 人力資源管理系統介紹
- 9.3 Web項目自動化原理及Web測試框架
- 9.3.1 自動化測試要達到的目標和涉及的技術
- 9.3.2 Web自動化測試框架Selenium介紹
- 9.3.3 Selenium框架技術簡述
- 9.4 整合Web自動化測試框架
- 9.4.1 自動化測試準備
- 9.4.2 創建工程目錄
- 9.4.3 頁面元素定位
- 9.4.4 頁面元素操作
- 9.4.5 提高代碼的復用性和靈活性——封裝
- 9.4.6 編寫測試用例
- 9.4.7 測試執行
- 9.4.8 生成Allure報告
- 9.5 Web自動化測試本地環境持續集成
- 9.5.1 Jenkins 2實現自動化執行測試及持續集成流程
- 9.5.2 使用自由風格配置Python自動化測試
- 9.5.3 使用pipeline配置Python自動化測試
- 9.5.4 使用BlueOcean配置Python自動化測試
- 9.6 本章小結
- 第10章 App自動化測試項目實踐
- 10.1 App自動化測試框架選擇
- 10.2 App自動化測試環境的搭建
- 10.2.1 安裝和驗證Java JDK——Windows系統
- 10.2.2 安裝和驗證Node.js
- 10.2.3 安裝AndroidSDK
- 10.2.4 安裝模擬器或連接真機
- 10.2.5 安裝appium-desktop
- 10.2.6 安裝appium-client
- 10.2.7 appium-doctor環境檢查
- 10.3 使用pytest和Allure建立App自動化混合框架
- 10.3.1 安裝所需要的包和插件
- 10.3.2 建立目錄結構
- 10.3.3 連接App的配置及啟動App
- 10.3.4 使用各種工具進行元素定位
- 10.3.5 使用PO方式建立元素定位locators類
- 10.3.6 使用PO方式建立元素操作方法基類
- 10.3.7 使用PO方式建立每個頁面或功能的元素操作方法類
- 10.3.8 結合pytest的特性建立公共數據共享文件conftest.py
- 10.3.9 使用PO的方式建立測試類
- 10.3.10 使用yaml文件及pytest中的parametrize作為數據驅動程序
- 10.3.11 使用Allure標簽定制報告
- 10.3.12 封裝的一些公共的方法
- 10.3.13 在文件中讀取配置文件數據
- 10.3.14 在測試用例中添加log日志
- 10.3.15 組織測試用例(添加運行標記)
- 10.3.16 實現持續集成——在Jenkins運行測試代碼
- 附:本次運行的部分appium日志翻譯
- 第11章 行為驅動開發(BDD)實現自動化測試
- 11.1 什么是BDD
- 11.2 BDD開發過程
- 11.3 BDD的功能和作用
- 11.4 中國BDD現狀
- 11.5 pytest-bdd實現BDD開發
- 11.5.1 pytest-bdd安裝
- 11.5.2 pytest-bdd的項目結構
- 11.5.3 BDD的標準語法
- 11.5.4 BDD實現步驟
- 11.5.5 BDD單元測試實踐:添加功能(單一數據)
- 11.5.6 BDD單元測試實踐:添加和刪除功能(數據通過參數傳遞)
- 11.5.7 BDD單元測試實踐:數據參數化
- 11.5.8 BDD接口測試實踐:requests和pytest-bdd實現bing的搜索接口
- 11.5.9 BDD UI自動化測試實踐:selenium和pytest-bdd實現搜索功能
- 11.5.10 BDD UI自動化測試實踐:selenium和pytest-bdd實現搜索功能參數化
- 11.6 本章小結
- 第12章 pytest.ini配置及其他配置
- 12.1 pytest中的各種配置
- 12.1.1 @pytest.marker標記用例
- 12.1.2 添加測試用例路徑
- 12.1.3 指定pytest忽略哪些搜索目錄
- 12.1.4 usefixtures的默認配置
- 12.1.5 修改測試用例的搜索匹配規則
- 12.1.6 ids中解決中文顯示亂碼問題
- 12.1.7 console_output_style輸出樣式配置
- 12.1.8 xfail_strict不是預期的失敗顯示FAILED
- 12.1.9 cache_dir緩存目錄設置
- 12.1.10 filterwarnings警告過濾
- 12.1.11 log相關配置
- 12.1.12 添加pytest執行默認參數選項
- 12.1.13 minversion的設置及限制
- 12.1.14 required_plugins需要的插件
- 12.2 警告相關配置
- 12.2.1 警告信息的默認捕獲行為
- 12.2.2 命令行配置警告是否捕獲
- 12.2.3 將警告轉換成異常失敗
- 12.2.4 通過pytest.ini設置filterwarnings實現
- 12.2.5 使用@pytest.mark.filterwarnings裝飾器實現警告忽略
- 12.2.6 設置pytestmark變量實現添加警告
- 12.2.7 命令行選項參數去掉警告信息
- 12.2.8 通過觸發警告自定義失敗時的提示消息
- 12.3 內置fixture之臨時目錄
- 12.3.1 tmp_path
- 12.3.2 tmp_path_factory
- 12.3.3 tmpdir
- 12.3.4 tmpdir_factory
- 12.4 輸出及捕獲級別配置
- 12.4.1 標準輸出/標準錯誤輸出/標準輸入的默認捕獲行為
- 12.4.2 修改和去掉捕獲行為
- 12.4.3 在測試用例中訪問捕獲到的信息
- 12.5 Mock
- 12.5.1 使用Mock對象模擬測試情景
- 12.5.2 Mock類的原型
- 12.5.3 MonkeyPatching返回的對象:臨時修改全局配置
- 12.5.4 修改MonkeyPatching函數功能或者類屬性
- 12.5.5 修改MonkeyPatching環境變量
- 12.5.6 修改MonkeyPatching字典
- 12.6 鉤子——Hook方法的作用
- 12.6.1 pytest_runtest_makereport修改測試報告內容
- 12.6.2 pytest_collection_modifyitems改變用例執行順序
- 12.6.3 pytest_terminal_summary
- 12.7 本章小結 更新時間:2023-08-31 20:28:14