注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)pytest框架與自動化測試應(yīng)用

pytest框架與自動化測試應(yīng)用

pytest框架與自動化測試應(yīng)用

定 價:¥100.00

作 者: 房荔枝,梁麗麗 著
出版社: 清華大學(xué)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787302587156 出版時間: 2021-12-01 包裝: 平裝
開本: 16開 頁數(shù): 404 字?jǐn)?shù):  

內(nèi)容簡介

  pytest 是 Python 的第三方測試框架,可以實現(xiàn)軟件測試各層次自動化。本書系統(tǒng)講述pytest的主要技術(shù)及在各層次自動化測試的應(yīng)用。 第1章介紹pytest框架。第2章講解框架運(yùn)行管理及對測試用例、斷言的管理,運(yùn)行管理中包括各種形式和層次的執(zhí)行,展示框架的靈活性和全面性。第3章詳細(xì)介紹框架的核心技術(shù)fixture,fixture使用依賴注入技術(shù)完成方法、類、文件級、會話級關(guān)聯(lián)、數(shù)據(jù)關(guān)聯(lián)和共享,可完美解決各種情況耦合和共享。第4章結(jié)合測試中最重要的數(shù)據(jù)驅(qū)動技術(shù)產(chǎn)生的參數(shù)化技術(shù),并配合fixture技術(shù)實現(xiàn)一組代碼多組數(shù)據(jù)的數(shù)據(jù)與代碼分離技術(shù)。第5章系統(tǒng)講解各種實用插件。第6~10章是實踐,從單元自動化測試、接口自動化測試、Web端自動化測試及App自動化測試計劃開始,講解設(shè)計、實現(xiàn)到執(zhí)行的全流程。第11章介紹BDD,讓非技術(shù)人員也能參與測試的全過程。第12章介紹pytest一些相關(guān)配置。 本書可作為從事軟件自動化測試的技術(shù)人員的參考書籍,也可作為高等院校,高職類軟件工程中質(zhì)量保證的參考書籍。

作者簡介

  房荔枝51testing資深講師,具有十幾年中、大型公司軟件測試、測試自動化及測試管理的一線經(jīng)驗。 梁麗麗哈爾濱職業(yè)技術(shù)學(xué)院講師,院生態(tài)電商專業(yè)創(chuàng)新團(tuán)隊成員,院電子商務(wù)專業(yè)工程技術(shù)教育認(rèn)證(TAC)成員,院優(yōu)秀班主任,長期從事網(wǎng)頁設(shè)計、無線傳感器網(wǎng)絡(luò)研究應(yīng)用、計算機(jī)應(yīng)用技術(shù)領(lǐng)域的教學(xué)和研究工作。先后開設(shè)商務(wù)網(wǎng)頁設(shè)計與制作、電子商務(wù)網(wǎng)站建設(shè)與管理、計算機(jī)應(yīng)用技術(shù)、人工智能等多門課程。主持省規(guī)劃辦重點(diǎn)課題1項,參與省級及校級課題4項,獲國家發(fā)明專利2項,發(fā)表論文6篇。

圖書目錄

第1章pytest框架介紹
1.1pytest框架引入
1.1.1測試框架能為我們解決什么問題
1.1.2測試框架的分類
1.1.3什么是pytest
1.2技術(shù)前提要求
1.2.1技術(shù)前提
1.2.2適合人
1.3環(huán)境準(zhǔn)備及資料準(zhǔn)備
1.3.1Python的環(huán)境驗證
1.3.2安裝pytest
1.4pytest初體驗
1.4.1在終端建立測試方法及執(zhí)行過程
1.4.2在PyCharm建立測試方法及執(zhí)行過程
1.4.3pytest的框架結(jié)構(gòu)
1.4.4在PyCharm中配置運(yùn)行工具
1.4.5右擊以pytest方式執(zhí)行代碼
1.4.6去掉main方法執(zhí)行測試
1.4.7PyCharm中執(zhí)行某個測試方法
1.4.8運(yùn)行窗口的工具欄含義
1.5執(zhí)行的查找原則和測試類及測試方法的命名
1.6本章小結(jié)
2章pytest的測試用例管理及運(yùn)行管理
2.1測試用例的命名管理
2.2用例執(zhí)行順序
2.3測試用例的斷言管理
2.3.1什么是斷言
2.3.2斷言的時機(jī)
2.3.3斷言的分類與使用
2.3.4觸發(fā)一個指定異常的斷言
2.3.5為失敗斷言添加自定義的說明
2.3.6Assert各種類型斷言
2.4測試用例的運(yùn)行管理
2.4.1獲取幫助信息
2.4.2常用運(yùn)行測試用例方式
2.4.3通過python m pytest 調(diào)用pytest 
2.4.4在Python代碼中調(diào)用pytest 
2.4.5pytest執(zhí)行結(jié)束時返回的狀態(tài)碼
2.4.6輸出代碼中的控制臺信息
2.4.7顯示詳細(xì)信息
2.4.8不顯示詳細(xì)信息
2.4.9顯示簡單總結(jié)結(jié)果
2.4.10執(zhí)行指定的測試用例
2.4.11執(zhí)行指定目錄下所有的測試用例
2.4.12k參數(shù)執(zhí)行包含特定關(guān)鍵字的測試用例
2.4.13執(zhí)行指定deid的測試用例
2.4.14m參數(shù)執(zhí)行指定標(biāo)記的用例
2.4.15執(zhí)行指定包中的測試用例
2.4.16修改回溯信息的輸出模式
2.5運(yùn)行的失敗管理
2.5.1多允許失敗的測試用例數(shù)
2.5.2失敗運(yùn)行管理的原理
2.6跳過skip測試用例的執(zhí)行
2.6.1@pytest.mark.skip裝飾器
2.6.2pytest.skip方法
2.6.3@pytest.mark.skipif裝飾器
2.6.4pytest.importorskip方法
2.6.5跳過測試類
2.6.6跳過測試模塊
2.6.7跳過指定文件或目錄
2.6.8各種跳過小結(jié)
2.7標(biāo)記用例為預(yù)期失敗
2.7.1@pytest.mark.fail標(biāo)記用例
2.7.2使用pytest.fail標(biāo)記用例
2.7.3fail標(biāo)記如何失效
2.8中斷調(diào)試及錯誤處理
2.8.1失敗時加載PDB環(huán)境
2.8.2開始執(zhí)行時就加載PDB環(huán)境
2.8.3設(shè)置斷點(diǎn)
2.8.4使用內(nèi)置的中斷函數(shù)
2.8.5錯誤句柄
2.9結(jié)果分析及報告
2.9.1分析測試執(zhí)行時間
2.9.2創(chuàng)建及定制JUnitXML格式的測試報告
2.10不穩(wěn)定測試用例處理
2.10.1為什么不穩(wěn)定測試是個問題
2.10.2潛在的根本原因是什么
2.10.3pytest為我們提供的解決策略
2.10.4pytest_CURRENT_TEST
2.10.5可以重新運(yùn)行的插件
2.10.6測試人員采用的解決策略
2.11本章小結(jié)
3章pytest中閃亮的fiture功能
3.1fiture介紹
3.2fiture目標(biāo)
3.3fiture基本的依賴注入功能
3.4fiture應(yīng)用在初始化設(shè)置
3.5fiture應(yīng)用在配置銷毀
3.5.1使用yield代替return
3.5.2使用with寫法
3.5.3使用addfinalizer方法
3.5.4yield與addfinalizer的區(qū)別
3.6fiture方法源碼詳細(xì)講解
3.7不同層級scope使用fiture實例
3.7.1模塊(module)級別使用fiture實例
3.7.2類(class)級別使用fiture實例
3.7.3會話(session)級別使用fiture與conftest.py配合
3.7.4session級別實例
3.8使用params 傳遞不同數(shù)據(jù)
3.8.1測試方法使用兩個簡單測試數(shù)據(jù)
3.8.2二(多)個測試方法共用兩個簡單測試數(shù)據(jù)
3.8.3有效測試數(shù)據(jù)與預(yù)期失敗fail的測試數(shù)據(jù)
3.8.4params與ids的應(yīng)用
3.8.5params綜合實例
3.9自動調(diào)用fiture
3.9.1使用fiture中參數(shù)autouse=True實現(xiàn)
3.9.2使用@pytest.mark.usefitures
3.9.3數(shù)據(jù)庫自動應(yīng)用的實例
3.10三方插件通過文件夾共享測試數(shù)據(jù)
3.11fiture的并列與嵌套調(diào)用
3.11.1并列使用fiture
3.11.2嵌套調(diào)用fiture
3.11.3多個fiture的實例化順序
3.11.4fiture返回工廠函數(shù)
3.11.5高效地利用fiture實例
3.12在不同的層級上重寫fiture
3.12.1在文件夾(conftest.py)層級重寫fiture
3.12.2在模塊層級重寫fiture
3.12.3在用例參數(shù)中重寫fiture
3.12.4參數(shù)化的fiture可重寫非參數(shù)化的fiture,反之亦然
3.13本章小結(jié)
4章pytest的數(shù)據(jù)驅(qū)動和參數(shù)傳遞
4.1參數(shù)化介紹
4.2參數(shù)化的應(yīng)用
4.2.1單一參數(shù)化應(yīng)用
4.2.2多參數(shù)應(yīng)用
4.2.3多個參數(shù)化
4.2.4參數(shù)化與fiture的結(jié)合
4.2.5pytestmark實現(xiàn)參數(shù)化
4.3parametrize源碼詳細(xì)講解
4.4argnames參數(shù)
4.4.1argnames與測試方法中的參數(shù)關(guān)系
4.4.2argnames調(diào)用覆蓋同名的fiture
4.5argvalues參數(shù)
4.5.1argvalues來源于Ecel文件
4.5.2使用pytest.param為argvalues賦值
4.6indirect參數(shù)
4.7ids參數(shù)
4.7.1ids的長度
4.7.2ids相同
4.7.3ids中使用中文
4.7.4通過函數(shù)生成ids
4.7.5ids的覆蓋
4.7.6ids的作用
4.8scope參數(shù)
4.8.1module級別
4.8.2未指定scope
4.9pytest_generate_tests鉤子方法
4.10本章小結(jié)
5章pytest的相關(guān)插件及插件管理
5.1pytest的插件安裝
5.2常見插件介紹
5.3常用插件的使用
5.3.1pytestassume斷言報錯后依然執(zhí)行
5.3.2pytestcov 測試覆蓋率
5.3.3pytestfreezegun 冰凍時間
5.3.4pytestflakes靜態(tài)代碼檢查
5.3.5pytesthtml生成HTML報告
5.3.6pytesthttpserver 模擬HTTP服務(wù)
5.3.7pytestinstafail用于用例失敗時立刻顯示錯誤信息
5.3.8pytestmock 模擬未實現(xiàn)的部分
5.3.9pytestordering調(diào)整執(zhí)行順序
5.3.10pytestpep8自動檢測代碼規(guī)范
5.3.11pytestpicked運(yùn)行未提交git的用例
5.3.12pytestrerunfailures 失敗重試
5.3.13pytestrepeat 重復(fù)運(yùn)行測試
5.3.14pytestrandomorder 隨機(jī)順序執(zhí)行
5.3.15pytestsugar 顯示彩色進(jìn)度條
5.3.16pytestselenium 瀏覽器兼容性測試
5.3.17pytesttimeout 設(shè)置時時間
5.3.18pytestdist測試并發(fā)執(zhí)行
5.4插件管理
5.4.1在測試模塊或conftest文件中加載插件
5.4.2找出哪些插件處于活動狀態(tài)
5.4.3通過名稱停用/注銷插件
5.5本章小結(jié)
6章與Allure框架結(jié)合定制測試報告
6.1Allure框架介紹
6.2Allure如何生成測試報告
6.3Allure報告組成
6.3.1總覽
6.3.2類別
6.3.3測試套件
6.3.4功能
6.3.5圖形
6.3.6時間軸
6.3.7包
6.4Allure的初體驗
6.4.1Allure在Windows 系統(tǒng)下安裝
6.4.2Allure在Linu環(huán)境下安裝
6.4.3Allure在Mac OS系統(tǒng)下安裝
6.4.4Allure的簡單用法
6.4.5Allure的幫助說明
6.5定制測試報告
6.5.1定制詳細(xì)的步驟說明
6.5.2不同類型的附件補(bǔ)充測試說明
6.5.3定制各種類型內(nèi)容描述
6.5.4定制測試標(biāo)題
6.5.5各種鏈接
6.5.6自定義各種標(biāo)簽
6.5.7嚴(yán)重性標(biāo)記
6.5.8重試信息展示
6.6本章小結(jié)
7章單元自動化測試實踐
7.1什么是單元測試
7.2pytest測試框架是單元測試的框架
7.3單元測試與質(zhì)量
7.4單元測試一個函數(shù)
7.5單元測試一個類
7.5.1類的說明
7.5.2開發(fā)的調(diào)用
7.5.3類持續(xù)開發(fā): 功能的增加及修改
7.5.4類的單元測試
7.6本章小結(jié)
8章API自動化測試實踐
8.1測試微信公眾號接口
8.1.1熟悉接口文檔以便獲取信息
8.1.2接口測試用例設(shè)計
8.2執(zhí)行測試
8.2.1使用get()、post()方法發(fā)送請求,返回響應(yīng)
8.2.2使用conftest共享數(shù)據(jù)
8.2.3讀取yaml數(shù)據(jù)文件進(jìn)行parametrize
8.2.4關(guān)聯(lián)接口數(shù)據(jù)傳遞及更新刪除接口測試
8.2.5fiture的依賴接口需要測試,也需要參數(shù)化
8.3使用Allure定制報告
8.4使用pytest進(jìn)行各種執(zhí)行
8.5本章小結(jié)
9章Web自動化測試持續(xù)集成實踐
9.1Web自動化測試及持續(xù)集成源起
9.2被測試系統(tǒng)的安裝和介紹
9.2.1人力資源管理系統(tǒng)安裝
9.2.2人力資源管理系統(tǒng)介紹
9.3Web項目自動化原理及Web測試框架
9.3.1自動化測試要達(dá)到的目標(biāo)和涉及的技術(shù)
9.3.2Web自動化測試框架Selenium介紹
9.3.3Selenium框架技術(shù)簡述
9.4整合Web自動化測試框架
9.4.1自動化測試準(zhǔn)備
9.4.2創(chuàng)建工程目錄
9.4.3頁面元素定位
9.4.4頁面元素作
9.4.5提高代碼的復(fù)用性和靈活性——封裝
9.4.6編寫測試用例
9.4.7測試執(zhí)行
9.4.8生成Allure報告
9.5Web自動化測試本地環(huán)境持續(xù)集成
9.5.1Jenkins 2實現(xiàn)自動化執(zhí)行測試及持續(xù)集成流程
9.5.2使用自由風(fēng)格配置Python自動化測試
9.5.3使用pipeline配置Python自動化測試
9.5.4使用BlueOcean配置Python自動化測試
9.6本章小結(jié)
10章App自動化測試項目實踐
10.1App自動化測試框架選擇
10.2App自動化測試環(huán)境的搭建
10.2.1安裝和驗證Java JDK——Windows系統(tǒng)
10.2.2安裝和驗證de.js
10.2.3安裝Android SDK
10.2.4安裝模擬器或連接真機(jī)
10.2.5安裝appiumdesk
10.2.6安裝appiumclient
10.2.7appiumdoctor環(huán)境檢查
10.3使用pytest和Allure建立App自動化混合框架
10.3.1安裝所需要的包和插件
10.3.2建立目錄結(jié)構(gòu)
10.3.3連接App的配置及啟動App
10.3.4使用各種工具進(jìn)行元素定位
10.3.5使用PO方式建立元素定位locators類
10.3.6使用PO方式建立元素作方法基類
10.3.7使用PO方式建立每個頁面或功能的元素作方法類
10.3.8結(jié)合pytest的特性建立公共數(shù)據(jù)共享文件conftest.py
10.3.9使用PO的方式建立測試類
10.3.10使用yaml文件及pytest中的parametrize作為數(shù)據(jù)驅(qū)動程序
10.3.11使用Allure標(biāo)簽定制報告
10.3.12封裝的一些公共的方法
10.3.13在文件中讀取配置文件數(shù)據(jù)
10.3.14在測試用例中添加log日志
10.3.15組織測試用例(添加運(yùn)行標(biāo)記)
10.3.16實現(xiàn)持續(xù)集成——在Jenkins運(yùn)行測試代碼
附: 本次運(yùn)行的部分appium日志翻譯
11章行為驅(qū)動開發(fā)(BDD)實現(xiàn)自動化測試
11.1什么是BDD
11.2BDD開發(fā)過程
11.3BDD的功能和作用
11.4中國BDD現(xiàn)狀
11.5pytestbdd實現(xiàn)BDD開發(fā)

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號