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