Themis是新立訊軟件實(shí)驗(yàn)室-自動(dòng)化測(cè)試中心自主開(kāi)發(fā)并集成的自動(dòng)化測(cè)試框架,主要基于python、unittest及Locust進(jìn)行二次開(kāi)發(fā)。旨在進(jìn)行對(duì)新立訊旗下所有產(chǎn)品進(jìn)行多系統(tǒng)、多平臺(tái)的自動(dòng)化測(cè)試服務(wù)。
Themis首先是一個(gè)WebUI的自動(dòng)化框架,提供了賴(lài)以操作瀏覽器的一些API。從實(shí)踐上來(lái)說(shuō),基本涵蓋95%的應(yīng)用場(chǎng)景。該框架主要由Python語(yǔ)言編寫(xiě),基于Selenium,可以認(rèn)為是一個(gè)二次封裝的框架。該框架基于頁(yè)面對(duì)象模型架構(gòu),實(shí)現(xiàn)了關(guān)鍵字驅(qū)動(dòng)技術(shù),數(shù)據(jù)驅(qū)動(dòng)。同時(shí)實(shí)現(xiàn)了數(shù)據(jù)與代碼分離的功能。
Themis其次是一個(gè)測(cè)試框架,使用Unittest管理和運(yùn)行用例,基于requests。可以進(jìn)行單元測(cè)試及接口測(cè)試,支持常用的HTTP中的POST、GET、PUT以及DELETE方法。測(cè)試對(duì)象包括FTP、MongoDB、Android、Appium,測(cè)試案例運(yùn)用excel管理,測(cè)試結(jié)果報(bào)告生成html文件。
Themis還是一種設(shè)計(jì)風(fēng)格:簡(jiǎn)約。無(wú)論是Themis框架本身還是基于Themis編寫(xiě)的測(cè)試用例,都是十分light及straightforward的。但在實(shí)踐中,這兩者確保了低成本、易用性及可維護(hù)性。極大的提高了工作效率并降低了溝通成本。
自動(dòng)化集成平臺(tái)框架
? 充分復(fù)用優(yōu)秀的開(kāi)源項(xiàng)目,不追求重復(fù)造輪子,而是將強(qiáng)大的輪子組裝成戰(zhàn)車(chē)
? 遵循約定大于配置的準(zhǔn)則,在框架功能中融入有效工程實(shí)踐
? 追求投入產(chǎn)出比,一份投入即可實(shí)現(xiàn)多種測(cè)試需求
? 繼承 Requests 的全部特性,輕松實(shí)現(xiàn) HTTP(S) 的各種測(cè)試需求
? 測(cè)試用例與代碼分離,采用YAML/JSON的形式描述測(cè)試場(chǎng)景,保障測(cè)試用例具備可維護(hù)性
? 測(cè)試用例支持分層機(jī)制,充分實(shí)現(xiàn)測(cè)試用例的復(fù)用
? 測(cè)試用例支持參數(shù)化和數(shù)據(jù)驅(qū)動(dòng)機(jī)制
? 使用 skip 機(jī)制實(shí)現(xiàn)對(duì)測(cè)試用例的分組執(zhí)行控制
? 支持熱加載機(jī)制,在文本測(cè)試用例中輕松實(shí)現(xiàn)復(fù)雜的動(dòng)態(tài)計(jì)算邏輯
? 結(jié)合 Locust 框架,無(wú)需額外的工作即可實(shí)現(xiàn)分布式性能測(cè)試
? 執(zhí)行方式采用 CLI 調(diào)用,可與 Jenkins 等持續(xù)集成工具完美結(jié)合
? 測(cè)試結(jié)果統(tǒng)計(jì)報(bào)告簡(jiǎn)潔清晰,附帶詳盡統(tǒng)計(jì)信息和日志記錄
信息展示