Linux自动部署框架,在Linux下编写一个集群自动化测试框架
目標:自動化測試框架(一鍵QA)
解決方案:
1. 框架的可配置
框架本身需要一個可配置文件。這個文件可以以任何形式存在,如key-value的鍵-屬性,或者是xmlfile,都可以。配置文件僅包含必須配置的屬性,比如服務器ip,工作目錄,需要跑哪類測試等,不需要太大,已簡單易配為主。每次跑測試者只需要配置好這個文件,其他的都不用care,讓自動化框架搞定一切。
2. 需要一臺機器做總控
這臺機器我們稱為client,是測試的大本營。也是我們的工作目錄。
3. 我們需要測試的程序所運行的機器
就是server。
4. client到server的ssh無驗證連接
這一步非常重要,因為要通過client去控制,監測server上發生的一些事情,只能通過ssh后跟命令去做。所以必須去除client和server之間的密碼驗證。
5.? 自動部署。
在做了第四步之后,我們需要在開始時,將框架本身里,需要在server上跑的各個組件scp到各臺server的對應工作目錄里。server的ip以及工作目錄都由框架的屬性文件指定。
6. 一個由腳本實現的,簡單的用于收發自己命令的客戶端服務器程序。
我們可以稱之為哨兵。哨兵位于各個server上,另外我們需要一個教官。教官位于我們的客戶端上。
哨兵和教官之間通過我們自己定義的協議進行通信,哨兵負責控制記憶檢測server,教官負責接收client上的命令,再將命令轉發給哨兵。
這套機制可以說是整個自動化測試框架的核心。對于遠程server上發生的一切,如果client僅僅通過ssh命令進行控制,那達到的功能會是有限的,而且實現起來不方便也很丑陋。添加功能也很方便,通過增加哨兵的協議和更多函數功能就可以了。
7. 一個穩定的lib庫
所有的測試用例都需要公用的一套庫,必須穩定,庫的內容包括一些封裝過的,我們需要測試的應用程序所支持的所有功能,它們的發送/接收函數,server的控制函數(啟動,關閉,重啟,格式化,等等)對于遠程server的操作,監控,則可以通過向教官發送指定命令實現。
8. 測試用例
所有的testcase是核心,testcase應該做到即插即用,即需要增加新的test時,只要將新case加到文件夾里,testcase跟框架唯一的耦合處就是它們使用了lib,testcase中不允許使用任何的硬編碼,一切參數通過外部傳入。testcase應該做到,可以由自動化框架調用,也可以讓人來手工跑。
9.? 一個環境配置確認腳本
這個腳本查看本地和遠端的軟/硬件情況。比如對方的網卡設置是否正確,mount的設備是否正確,可執行文件是否在正確位置,版本是否是我們需要的等等。遇到任何問題,及時返回錯誤,報告情況并中斷整個框架執行直到有人來將環境配置正確。
21/212>
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Linux自动部署框架,在Linux下编写一个集群自动化测试框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux6.5图形模式安装,CentO
- 下一篇: 2023上海车展确定4月18日开幕!对标