Selenium 4 自動(dòng)化測(cè)試項(xiàng)目實(shí)戰(zhàn):基于 Python 3
鏈接:https://pan.baidu.com/s/1HdqqPenRCzYY1aZX4fD5nA?pwd=gqox?
提取碼:gqox

本書真正為軟件測(cè)試人員考慮,在有限的篇幅內(nèi)既講解了必需的Python語言知識(shí),也設(shè)計(jì)了很多演示案例、項(xiàng)目等,內(nèi)容翔實(shí),代碼可以拿來即用。
本書作者具有豐富的實(shí)戰(zhàn)經(jīng)驗(yàn),均具有多年測(cè)試開發(fā)經(jīng)驗(yàn),長(zhǎng)期從事自動(dòng)化測(cè)試框架、分布式測(cè)試平臺(tái)設(shè)計(jì)與開發(fā)工作。
顛覆傳統(tǒng),循序漸進(jìn)落地自動(dòng)化測(cè)試項(xiàng)目,在項(xiàng)目中學(xué)會(huì)Selenium自動(dòng)化與Python語言。
此外還介紹了平臺(tái)建設(shè)相關(guān)一些實(shí)用技術(shù),如平臺(tái)搭建維護(hù)、項(xiàng)目部署以及運(yùn)用Docker容器技術(shù)進(jìn)行測(cè)試等。
內(nèi)容簡(jiǎn)介
內(nèi)容簡(jiǎn)介:
Selenium是目前非常流行的一種自動(dòng)化測(cè)試工具。本書基于Python 3語言講述了新的Selenium 4的基本理論與操作,涉及各種高級(jí)應(yīng)用,以及如何進(jìn)行項(xiàng)目實(shí)戰(zhàn),并提供了詳細(xì)的自動(dòng)化平臺(tái)部署步驟。
本書共14章,分為4篇。
第1篇介紹了Selenium概況、相關(guān)的基礎(chǔ)知識(shí)及環(huán)境的搭建步驟;
第2篇介紹了Selenium涉及的各種技術(shù),包括前端技術(shù)、Selenium元素定位、Selenium常用方法及WebDriver進(jìn)階應(yīng)用;
第3篇以攜程訂票系統(tǒng)為例,深入探討了如何進(jìn)行項(xiàng)目實(shí)戰(zhàn)與優(yōu)化,詳細(xì)介紹了項(xiàng)目重構(gòu)、數(shù)據(jù)驅(qū)動(dòng)測(cè)試、Page Object設(shè)計(jì)模式及行為驅(qū)動(dòng)等相關(guān)的各種常用技術(shù);
第4篇介紹了平臺(tái)建設(shè)相關(guān)的一些實(shí)用技術(shù),如平臺(tái)搭建維護(hù)、項(xiàng)目部署及運(yùn)用Docker容器技術(shù)進(jìn)行測(cè)試等。
為了使讀者不但能掌握Selenium自動(dòng)化測(cè)試,而且能夠迅速獲得項(xiàng)目經(jīng)驗(yàn),徹底掌握并靈活運(yùn)用到實(shí)際的測(cè)試項(xiàng)目中,本書注重理論與實(shí)踐相結(jié)合,提供了大量典型的自動(dòng)化測(cè)試實(shí)例,按照由淺入深、前后照應(yīng)的順序來安排內(nèi)容。
作者簡(jiǎn)介
作者簡(jiǎn)介:
田春成,多年測(cè)試開發(fā)經(jīng)驗(yàn),長(zhǎng)期從事自動(dòng)化測(cè)試框架、分布式測(cè)試平臺(tái)設(shè)計(jì)與開發(fā)工作?,F(xiàn)為某創(chuàng)業(yè)公司技術(shù)總監(jiān)。
李靖,資深測(cè)試開發(fā)工程師,十年測(cè)試開發(fā)經(jīng)驗(yàn)。曾在外企SAP從事自動(dòng)化測(cè)試、性能測(cè)試工作。長(zhǎng)期從事自動(dòng)化測(cè)試技術(shù)選型、技術(shù)研究和框架設(shè)計(jì)相關(guān)工作。
精彩書評(píng)
本書基于Selenium 4,通過深入淺出的方式,對(duì)Web自動(dòng)化測(cè)試進(jìn)行了系統(tǒng)的講解。結(jié)合實(shí)際案例和項(xiàng)目,讀者可以深入了解Selenium的各種用法和技巧,以及常見的測(cè)試應(yīng)用場(chǎng)景和解決方案。無論是初學(xué)者還是有經(jīng)驗(yàn)的測(cè)試開發(fā)人員,都可以從中受益。
南瑞集團(tuán)有限公司測(cè)試經(jīng)理 王志勇
自動(dòng)化測(cè)試近幾年比較熱門,市場(chǎng)需求也比較大。本書的特點(diǎn)是能真正地為軟件測(cè)試人員考慮,在有限的篇幅內(nèi)既講解了必需的Python語言知識(shí),也設(shè)計(jì)了很多演示案例、項(xiàng)目等。本書內(nèi)容翔實(shí),代碼可以拿來即用。
本書適合初學(xué)者,書中的知識(shí)體系是層層遞進(jìn)的,比較容易掌握和吸收;也適合有經(jīng)驗(yàn)的從業(yè)者,書中內(nèi)容有一定的深度和廣度。
蘇州博納訊動(dòng)軟件有限公司測(cè)試總監(jiān) 金偉
本書測(cè)試案例豐富,層層深入地講解了UnitTest和pytest兩大主流測(cè)試框架在實(shí)際項(xiàng)目中的應(yīng)用。在測(cè)試行業(yè)競(jìng)爭(zhēng)高度激烈的今天,自動(dòng)化測(cè)試已是必不可少的技能之一。讀完本書,相當(dāng)于進(jìn)入了測(cè)試開發(fā)的大門。
易咖智車測(cè)試總監(jiān) 李洋
目錄
目 錄
第一篇 環(huán)境篇
第1章 自動(dòng)化測(cè)試簡(jiǎn)介
1.1 什么是自動(dòng)化測(cè)試
1.2 自動(dòng)化測(cè)試的分類
1.3 自動(dòng)化測(cè)試項(xiàng)目的適用條件
1.4 自動(dòng)化測(cè)試總結(jié)
1.5 為什么選擇Selenium
1.5.1 Selenium的特性
1.5.2 Selenium的發(fā)展
第2章 Selenium IDE的使用
2.1 Selenium IDE
2.1.1 Selenium IDE的安裝步驟
2.1.2 Selenium IDE的功能界面與工具欄
2.1.3 Selenium IDE腳本
2.1.4 wait for text、assert text和verify text命令
2.1.5 通過實(shí)例講解store title和echo命令
2.2 從Selenium IDE導(dǎo)出腳本
第3章 Python與Selenium環(huán)境搭建
3.1 Windows環(huán)境下的安裝
3.1.1 安裝Python
3.1.2 安裝Selenium
3.1.3 安裝開發(fā)工具和IDE
3.1.4 搭建不同的瀏覽器環(huán)境
3.2 macOS環(huán)境下的安裝
3.2.1 安裝Python
3.2.2 安裝Selenium
3.2.3 瀏覽器的驅(qū)動(dòng)
第二篇 基礎(chǔ)篇
第4章 Selenium元素定位
4.1 Python基礎(chǔ)知識(shí)
4.1.1 數(shù)字類型
4.1.2 字符串類型
4.1.3 常用的判斷與循環(huán)語句
4.1.4 列表對(duì)象
4.2 Selenium八大定位
4.2.1 id定位
4.2.2 name定位
4.2.3 class定位
4.2.4 link_text定位
4.2.5 partial_link_text定位
4.2.6 CSS定位
4.2.7 XPath定位
4.2.8 tag_name定位
4.3 表格定位
4.3.1 遍歷表格單元格
4.3.2 定位表格中的特定元素
4.3.3 定位表格中的子元素
4.4 關(guān)聯(lián)元素定位策略
4.4.1 Above模式
4.4.2 Below模式
4.4.3 Left of模式
4.4.4 Right of模式
4.4.5 Near模式
4.4.6 Chaining relative locators模式
第5章 Selenium常用方法
5.1 基本方法
5.2 特殊元素定位
5.2.1 鼠標(biāo)事件操作
5.2.2 常用的鍵盤事件
5.2.3 Select操作
5.2.4 定位一組元素
5.3 Frame操作
5.4 上傳與下載附件
5.4.1 上傳附件操作方式一
5.4.2 上傳附件操作方式二
5.4.3 上傳附件操作方式三
5.4.4 下載附件
5.5 Cookie操作
5.6 驅(qū)動(dòng)管理模式
5.7 顏色驗(yàn)證
5.8 3種等待模式
5.8.1 強(qiáng)制等待模式
5.8.2 隱式等待模式
5.8.3 顯式等待模式
5.9 多窗口切換
5.10 彈框操作
5.11 ChromeOptions
5.12 滑塊操作
5.13 元素截圖
5.14 JavaScript操作頁面元素
5.15 jQuery操作頁面元素
5.16 innerText與innerHTML
5.17 通過源碼理解By.ID
第三篇 項(xiàng)目篇
第6章 項(xiàng)目實(shí)戰(zhàn)
6.1 項(xiàng)目需求分析匯總
6.1.1 制訂項(xiàng)目計(jì)劃
6.1.2 編寫測(cè)試用例
6.2 業(yè)務(wù)場(chǎng)景的覆蓋與分拆
6.2.1 逐個(gè)分析頁面元素
6.2.2 分層創(chuàng)建腳本
6.3 項(xiàng)目代碼總結(jié)
第7章 項(xiàng)目重構(gòu)與代碼優(yōu)化
7.1 項(xiàng)目重構(gòu)
7.1.1 元素定位方法優(yōu)化
7.1.2 新增崗位優(yōu)化
7.1.3 代碼分層優(yōu)化
7.1.4 三層架構(gòu)
7.2 代碼優(yōu)化
7.2.1 無人值守自動(dòng)化
7.2.2 等待時(shí)間優(yōu)化
第8章 數(shù)據(jù)驅(qū)動(dòng)測(cè)試
8.1 一般文件操作
8.1.1 文本文件操作
8.1.2 CSV文件操作
8.1.3 Excel文件操作
8.1.4 JSON文件操作
8.1.5 XML文件操作
8.1.6 YAML文件操作
8.1.7 文件夾操作
8.2 通過Excel參數(shù),實(shí)現(xiàn)參數(shù)與腳本的分離
8.2.1 創(chuàng)建Excel文件,維護(hù)測(cè)試數(shù)據(jù)
8.2.2 Framework Log設(shè)置
8.2.3 初步實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)
8.3 數(shù)據(jù)驅(qū)動(dòng)框架DDT
8.3.1 單元測(cè)試
8.3.2 數(shù)據(jù)驅(qū)動(dòng)框架應(yīng)用
8.3.3 DDT+Excel實(shí)現(xiàn)循環(huán)測(cè)試
第9章 Page Object設(shè)計(jì)模式
9.1 什么是Page Object
9.2 Page Object實(shí)戰(zhàn)
9.2.1 Common層代碼分析
9.2.2 Base層代碼分析
9.2.3 PageObject層代碼分析
9.2.4 TestCases層代碼分析
9.2.5 Data層分析
9.2.6 Logs層分析
9.2.7 Reports層分析
9.2.8 其他分析
9.2.9 執(zhí)行Page Object項(xiàng)目
第10章 pytest框架實(shí)戰(zhàn)
10.1 pytest與Allure
10.1.1 pytest的安裝
10.1.2 簡(jiǎn)單測(cè)試案例介紹
10.1.3 引入類來管理測(cè)試方法
10.1.4 setup和teardown方法應(yīng)用
10.1.5 fixtures功能應(yīng)用
10.1.6 pytest如何做參數(shù)化
10.1.7 conftest應(yīng)用
10.1.8 運(yùn)行Selenium
10.1.9 使用pytest生成測(cè)試報(bào)告
10.1.10 集成Allure報(bào)告
10.2 使用pytest重構(gòu)項(xiàng)目
第11章 行為驅(qū)動(dòng)測(cè)試
11.1 安裝環(huán)境
11.2 行為驅(qū)動(dòng)之小試牛刀
11.3 基于Selenium的行為驅(qū)動(dòng)測(cè)試
11.4 結(jié)合Page Object的行為驅(qū)動(dòng)測(cè)試
第四篇 平臺(tái)篇
第12章 測(cè)試平臺(tái)維護(hù)與項(xiàng)目部署
12.1 Git應(yīng)用
12.1.1 安裝Git
12.1.2 Git常用操作
12.1.3 運(yùn)用GitHub
12.2 安裝Jenkins
12.3 配置Jenkins
12.4 Jenkins應(yīng)用
12.4.1 自由風(fēng)格項(xiàng)目介紹
12.4.2 Jenkins Pipeline
12.5 完整的Jenkins自動(dòng)化實(shí)例
12.6 項(xiàng)目部署
12.6.1 獲取當(dāng)前環(huán)境模塊列表
12.6.2 安裝項(xiàng)目移植所需的模塊
第13章 Docker容器技術(shù)與多線程測(cè)試
13.1 Docker簡(jiǎn)介
13.2 Docker的一般應(yīng)用場(chǎng)景
13.3 Docker的安裝和簡(jiǎn)單測(cè)試
13.3.1 Docker的安裝
13.3.2 Docker的簡(jiǎn)單測(cè)試
13.4 Python多線程介紹
13.4.1 一般方式實(shí)現(xiàn)多線程
13.4.2 用可調(diào)用類作為參數(shù)實(shí)例化Thread類
13.4.3 Thread類派生子類(重寫run方法)
13.5 使用Docker容器技術(shù)進(jìn)行多線程測(cè)試
13.5.1 Selenium Grid
13.5.2 安裝需要的鏡像
13.5.3 啟動(dòng)Selenium Hub
13.5.4 啟動(dòng)Selenium Node
13.5.5 查看Selenium Grid Console界面
13.5.6 Docker環(huán)境下多線程并發(fā)執(zhí)行Selenium Grid測(cè)試
查看全部↓
前言/序言
前言:
筆者在2019年出版《Selenium 3+Python 3自動(dòng)化測(cè)試項(xiàng)目實(shí)戰(zhàn):從菜鳥到高手》一書之后,讀者朋友提出了許多寶貴的意見。隨著2021年Selenium 4正式發(fā)布,筆者也開始著手再版工作。3年疫情,給每個(gè)企業(yè)、每個(gè)人都帶來了諸多不便,在“內(nèi)卷”越來越嚴(yán)重的今天,如何才能從競(jìng)爭(zhēng)中脫穎而出呢?大家在工作之余一定要多思考、多總結(jié),努力提高自身的技能。
Python的語法簡(jiǎn)單且功能強(qiáng)大,對(duì)編程能力較弱的初學(xué)者來說,更容易學(xué)習(xí)和使用;對(duì)有編程經(jīng)驗(yàn)的讀者來說,學(xué)習(xí)Python的成本很低,可以在很短的時(shí)間內(nèi)學(xué)會(huì)并使用Python來處理問題。
本書所有實(shí)例在上一版的基礎(chǔ)之上都進(jìn)行了重新設(shè)計(jì),全部實(shí)例都可以在本地運(yùn)行,方便大家快速學(xué)習(xí)。同時(shí),本書增加了全新的項(xiàng)目,可以通過逐步迭代的方式快速落地自動(dòng)化測(cè)試。不論有沒有基礎(chǔ),只要按照本書介紹的路線學(xué)習(xí),大部分讀者都能在較短的時(shí)間內(nèi)掌握Web自動(dòng)化測(cè)試方法,為從事測(cè)試開發(fā)工作打下堅(jiān)實(shí)的基礎(chǔ)。
本書的初衷是提高讀者的技術(shù)學(xué)習(xí)深度與廣度,從而使其向測(cè)試開發(fā)工程師的道路邁進(jìn)。為此,在本書的最后一篇中介紹了Git、Docker容器的使用方法,以及持續(xù)集成工具Jenkins的使用方法等。
本書最大的特點(diǎn)是不需要專門學(xué)習(xí)Python,讀者可以零基礎(chǔ)入門,通過本書實(shí)例中的自動(dòng)化思維,結(jié)合Selenium來學(xué)習(xí)Python,并循序漸進(jìn)地學(xué)會(huì)和使用Selenium來實(shí)現(xiàn)企業(yè)級(jí)項(xiàng)目。
查看全部↓