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