一、項目背景
- 個人博客系統采用前后端分離的方法來實現,同時使用了數據庫來存儲相關的數據,同時將其部署到云服務器上。前端主要有四個頁面構成:登錄頁、列表頁、詳情頁以及編輯頁,以上模擬實現了最簡單的個人博客系統。其結合后端實現了以下的主要功能:登錄、編輯博客、注銷、刪除博客、以及強制登錄等功能。
- 但是該項目沒有設計用戶注冊功能,只能提前在數據庫中存儲用戶信息后經過校驗登錄;并且用戶頭像不能自己設定,在進行前端頁面的書寫過程中已經將頭像的圖片寫為靜態了;而用戶信息中的文章數以及分類數也沒有在后端中具體實現,直接在前端頁面中寫為了靜態的。
- 該個人博客系統可以實現個人用戶簡單的博客記錄,時間、標題、內容以及發布者等都可以進行詳細地查看。
二、項目功能
該個人博客系統主要實現了以下幾個功能:登錄、注銷、寫博客以及刪除博客等功能。
- 登錄功能:用戶名以及密碼已經在后端寫入了數據庫,沒有實現賬戶注冊功能,即:用戶名以及密碼是已經存在的。登錄成功后就會跳轉到列表頁面。在右上角存在主頁和寫博客兩個按鈕,但是在未登錄情況下按下均只會跳轉到登錄頁面。
- 列表頁面:可以在列表頁查看有限數量的博客簡介,其包括博客標題、發布時間以及內容概要。在左側可以看到登錄的用戶以及文章數、分類數等的模塊。在右上角有主頁、寫博客和注銷三個功能:主頁即列表頁,寫博客即博客編輯頁,注銷即注銷用戶,回到登錄頁面。
- 詳情頁面:在列表頁面點擊“查看全文”按鈕就會跳轉到詳情頁,此時就可以看到該篇博客的完整內容。在右上角同樣有主頁、寫博客、刪除和注銷四個功能:刪除即刪除該篇博客,刪除之后就會跳轉到列表頁面,該篇博客就被成功刪除。
- 寫博客:在登錄之后的任意界面點擊“寫博客”之后就會進入博客編輯頁面,此時就可以進行博客的編寫,點擊“發布文章”后就可以成功發布文章,此時就會跳轉到列表頁。
三、測試計劃
一)功能測試
-
測試用例:
2. 實際執行測試的部分操作步驟/截圖
1)正常登錄
2)寫博客測試:
3)發布成功并查看詳情頁
4)刪除博客,進入詳情頁,并點擊“刪除”之后成功刪除
5)注銷:點擊“注銷”后回到登錄頁
二)自動化測試
- 針對個人博客項目進行測試,個人博客主要由四個頁面構成:登錄頁、列表頁、詳情頁和編輯頁,主要功能包括:登錄、編輯并發布博客、查看詳情、刪除博客以及注銷等功能。對于個人博客的測試主要就是針對主要功能進行測試,然后按照頁面書寫測試類。
- 個人博客地址:藏書閣
- 自動化測試一般步驟:
????????1)編寫web自動化測試用例
????????2)創建自動化項目,根據用例來實現腳本
以頁面書寫測試類,然后對主要功能進行測試。
代碼編寫
- 根據腦圖進行測試用例的編寫:每個頁面一個測試類,然后再各個測試類中進行測試用例的編寫。
- 注意公共屬性需要單獨放一個類,方便進行代碼復用。
- 使用測試套件便于運行以及修改。
- 創建啟動以及現場截圖就是會頻繁進行復用,所以單獨創建一個類進行存儲。
- 注意添加隱式等待,為了確保頁面正確加載顯示。
添加依賴
<dependency><groupId>io.github.bonigarcia</groupId><artifactId>webdrivermanager</artifactId><version>5.8.0</version></dependency><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>4.0.0</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.6</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.6</version></dependency>
新建包并在包下創建測試類以及公共類
1)公共類Utils
創建驅動、保存現場截圖
2)登錄頁面測試LoginPage
① 創建驅動,并打開頁面
② 測試頁面是否正常打開
③ 測試正常登錄
④ 測試異常登錄:用戶名/密碼錯誤的情況
3)列表頁測試ListPage
① 測試博客列表頁是否可以正常打開
② 測試列表頁的“查看全文”按鈕是否可以正常跳轉
③ 測試未登錄的直接鏈接是否會跳轉到登錄頁面,測試“注銷”按鈕
4)編輯頁測試EditPage
① 測試編輯頁是否可以正確打開
② 測試博客是否可以正常發布
③ 測試“寫博客”按鈕是否可以正常使用
5)詳情頁測試BlogDetailTest
① 測試詳情頁的正確打開
6)驅動釋放DriverQuiteTest
代碼參考:BlogAutoTest/src/test/java · 劉子鵬/Java學習 - 碼云 - 開源中國 (gitee.com)
運行結果
? ? ? ? ? ? ? ? ? ? ? ??
?