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