如何結合DevOps的自動化測試功能,做好DevOps的接口自動化?

2021-01-12 OFweek維科網

轉載本文需註明出處:微信公眾號EAWorld,違者必究。

Devops作為技術中臺的重要組成部分之一,其下「自動化測試」功能也是不可或缺的一環,如何結合DevOps自身提供的自動化測試功能,做好DevOps的接口自動化呢?首先要先了解DevOps為自動化測試提供了哪些功能,如何使用該功能進行自動化測試,以及如何設計測試框架等等,本文將會為大家一一解答。

DevOps作為技術中臺的「效率&精益「平臺,集成了多方測試工具供使用。目前集成的自動化測試工具有:robot-framework 、Jmeter。

目錄:

1.為什麼採用RobotFramework?

2.什麼是RobotFramework?

3.RF如何做接口測試?

4.如何在DevOps中執行rf腳本並生成測試報告

一、為什麼採用RobotFramework?

針對接口、web網頁、app自動化測試的工具有很多:selenium、jmeter、soapui、robotFramework、postman等,如何選擇適合自己的自動化測試工具?此時便要看具體需求和業務。
應需求:為DevOps產品做自動化接口測試,那DevOps自身集成了jmeter和rf框架,且採用jmeter或者rf工具,能使自動化測試過程在DevOps中「數據可視化」,每次執行後的各項測試數據指標(包括測試結果、測試報告、成功率、失敗率等)直接在DevOps中進行展示、更是省略了自行配置jenkins進行自動化執行部署等操作,對於管理人員以及測試人員而言,均有受益。
又考慮到測試人員技術水平,相對而言,rf簡單易上手,所以rf突出重圍,成為此次自動化工具角逐的「冠首」。

二、什麼是RobotFramework?

Robot Framework是一款python編寫的功能自動化測試框架,可導入各第三方測試庫(例如:Selenium2Library、RequestsLibrary、DatabaseLibrary、HttpLibrary.HTTP),通過關鍵字進行web或接口自動化測試。

RF特性:

1、rf測試用例支持文本文件保存,使用制表符分隔數據,可方便使用任何文本編輯器,或者excel編輯測試用例,也可使用HTML格式創建用例;

2、測試用例支持變量使用,可使用IF、ELSE以及For循環語句;

3、支持關鍵字驅動、數據驅動和行為驅動;

4、利用已有關鍵字,測試人員可進一步「封裝」,形成更高級別的行為;

5、測試人員可使用Python編寫自己所需的關鍵字;

6、測試報告和日誌為HTML格式,便於閱讀;

7、使用簡單,更好理解以及上手等

三、RF如何做接口測試?

1、RF腳本編輯工具:可通過RED工具(該工具百度文獻參考多,這裡不做介紹)或者eclipse來編輯Robot FrameWork測試用例;個人用的eclipse,更方便進行關鍵字的查看,具體可參考文獻:https://www.cnblogs.com/Simple-Small/p/9229397.html。

2、準備好rf環境【python環境、robotframework安裝、JDK1.8+Eclipse+RED插件】;

3、安裝第三方庫,提供接口測試的關鍵字:RequestsLibrary(在rf中,python語言的接口測試庫名稱為RequestsLibrary)、DatabaseLibrary、HttpLibrary.HTTP等;

若導入httplibrary庫出錯,可參考以下文獻進行調試:

相關焦點

  • 技術中臺之DevOps自動化測試實踐
    Devops作為技術中臺的重要組成部分之一,其下「自動化測試」功能也是不可或缺的一環,如何結合DevOps自身提供的自動化測試功能,做好DevOps的接口自動化呢?首先要先了解DevOps為自動化測試提供了哪些功能,如何使用該功能進行自動化測試,以及如何設計測試框架等等,本文將會為大家一一解答。
  • 自動化功能測試和接口測試工具整理
    當前已經更名為UFT,即統一功能測試框架。使用QTP的目的是想用它來執行重複的自動化測試,主要是用於回歸測試和測試同一軟體的新版本。因此你在測試前要考慮好如何對應用程式進行測試,例如要測試哪些功能、操作步驟、輸入數據和期望的輸出數據等。HP QuickTest Professional 提供符合所有主要應用軟體環境的功能測試和回歸測試的自動化。
  • 鄭州銀行:DevOps工具鏈容器化項目
    創新點鄭州銀行在新一代容器PaaS平臺建設初期,便確認了PaaS平臺和敏捷理念結合來提升業務的自動化部署和提高部署效率和準確性,降低或完全替代人工操作,全面提升業務彈性,並將容器和敏捷的理念貫徹到需求、設計、研發、測試、發布、運維等軟體生產的全生命周期的建設目標。
  • DevOps教程:DevOps 架構
    【注】本文譯自:https://www.javatpoint.com/devops-architecture 部署包括需求分析,設計,開發以及軟體組件或框架的測試。 運營包括軟體的管理流程,服務和支持。當開發和運營結合在一起進行協作時,DevOps 架構就是解決部署和運營術語之間差距的解決方案。因此,交付可以更快。 DevOps 架構用於託管在雲平臺上的應用和大型分布式應用。
  • 海保人壽:基於開源軟體的自動化測試平臺
    自動化測試平臺作為公司devops體系建設的一個環節,集成眾多開源框架,本著自動化及智能化的目的搭建,將代碼與測試用例關聯,自動觸發測試案例,通過對修改後的代碼測試結果與修改前測試結果自動比對,及時發現測試缺陷。自動化測試內容涵蓋接口自動化、UI自動化、代碼覆蓋度檢測、代碼檢測等。功能包含測試配置化、參數靈活配置及自動生成、測試案例精準自動觸發、測試報告自動生成、測試告警等。
  • DevOps 發展史
    【注】本文節譯自:https://www.bmc.com/blogs/devops-history/起源軟體開發生命周期(SDLC)的發展迅速改變了組織如何將其產品發布/生產到生產環境的格局。當談到組織如何管理產品交付時,傳統的 SDLC 通常與瀑布(Waterfall)模式聯繫在一起。瀑布模式不能適應與組織的業務目標,他們希望為客戶提供更快的速度和功能/產品。照此邏輯,他們需要一種新的方法來加快產品交付,但同時還要改善開發人員和 IT 運營團隊。
  • DevOps教程:什麼是DevOps
    【注】本文譯自: https://www.javatpoint.com/devopsDevOps 是兩個單詞的複合,一個是 Development,另一個是 Operations。它是一種共同提升開發和運維過程的文化。
  • DevOps教程:什麼是DevOps
    【注】本文譯自: https://www.javatpoint.com/devops 自動化可以減少時間消耗,尤其是在測試和部署階段。生產率提高了,並且自動化使發布更快。 這將導致迅速捕獲錯誤,因此可以輕鬆修復它。 對於持續交付,每個代碼都是通過自動化測試,基於雲的服務和構建來定義的。 可以使用自動部署來促進生產。
  • 還在猶豫到底要不要實施Devops?
    $ to devops or not to devops圖片來源:http:/透過自動化「軟體交付」和「架構變更」的流程,來使得構建、測試、發布軟體能夠更加地快捷、頻繁和可靠。它的出現是由於軟體行業日益清晰地認識到:為了按時交付軟體產品和服務,開發和運營工作必須緊密合作。--百度百科
  • DevOps教程:DevOps 生命周期
    【注】本文譯自:https://www.javatpoint.com/devops-lifecycleDevOps定義了運營與開發之間的敏捷關係。從產品的開始到最終階段,開發團隊和運營工程師共同實踐這一過程。
  • DevOps教程:DevOps 生命周期
    【注】本文譯自:https://www.javatpoint.com/devops-lifecycle DevOps定義了運營與開發之間的敏捷關係。從產品的開始到最終階段,開發團隊和運營工程師共同實踐這一過程。
  • 看這8個DevOps重點,提高2021 生產率
    尤其在各大廠中它受到了熱烈歡迎,但是大家要注意結合實際,立足於業務。不能為了敏捷而敏捷,為了devops而devops!1.部署頻率開發後保持競爭優勢,高質量,準確地提供更新,新功能和技術增強都非常重要。增加交付強度的機會有利於提高靈活性並更滿足不斷變化的消費者需求。定期測量部署頻率將提供更大的可見性,可以了解哪些改進成功,哪些部分要更改。
  • 軟體測試工程師必備:如何做好接口測試?Yapi自動化平臺項目實戰
    對於服務端接口的API測試來說,就是由自動化測試工具模擬需要人工在軟體界面上的各種操作後發起的一連串接口請求,並且自動驗證其結果是否符合預期。(三)Service 測試模型的中間是Service測試,也就是接口API測試,API接口測試介於單元測試和界面測試之間,是一種灰盒測試方法,在前端界面未完成時,測試人員就可以單獨驗證內部接口功能的完成性。相較於UI自動化測試,它具有自動化成本低和測試效率高的特點,也將是我們研究測試自動化並應用落地的重要內容。
  • 功能測試如何轉型自動化測試
    P2P、金融、crm、銀行、erp、電商、app等各種系統都做過一些測試,會簡單的編程,會一點接口測試(拿高工資的很大一批測試都是因為他會接口測試自動化)會一些開源工具輔助測試,比如說,很典型的postman做接口測試,jmeter,然後自動化會用到Selenium或者用一些可以錄製自動化腳本的一些工具。
  • DevOps的能力模型、演進及案例剖析
    答:通過Python或者Shell在nginx.conf裡添加server區塊,然後如何如何…… 問題2 問:如何使用Python將文本日誌結構化 答:通過python的os.system調用awk。(哭,韓國的整容術用到運維上了,給awk整成python……) 這是最近真實的面試案例。
  • 七款做好DevOps的強大工具
    Docker是由Docker引擎和Docker集線器組成的,前者是一個輕量級的運行時間和包裝工具,後者則是應用程式共享和工作流程自動化的雲服務。「Docker已成為Yelp下一代測試和服務管理基礎設施的重要組成部分,」Yelp 的技術總監Sam Eaton在Docker網站上的案例研究中說,「依賴性隔離和『貨櫃』的快速旋轉使得開發周期和測試速度提高了不只4倍。」4.
  • python 如何使用HttpRunner做接口自動化測試
    前言原始測試金子塔包含 3 層,分別是:UI 自動化測試、接口服務測試、單元測試其中,單元測試是對軟體的最小可測試單元進行檢查和驗證,也是產生效率最大的一項測試接口服務測試分為模塊接口測試和協議接口測試UI 測試主要是為了取代人力操作,通過 UI 自動化去模擬操作,降低回歸測試的成本考慮到投入產出率,大部分企業都會將測試重點放在接口自動化測試這一項上接口自動化主流方案包含:python +
  • DevOps已經出現10年了,等待它的下一個十年又是什麼
    那些真正熟悉這個過程的人已經知道devops需要內部啟動。它的成功不在於第三方解決方案;關鍵在於人和文化的轉變。儘管現在有很多公司聲稱他們正在「做DevOps」,但是仍然有很多公司體驗到了敏捷工作方式所解決的問題。在太陽風2018年IT趨勢報告中,IT專業人士將基礎設施不足和組織戰略列為實現最佳IT績效的兩大障礙。 好消息是,圍繞IT術語和解決方案的炒作周期將不可避免地結束。
  • 基於Ansible和Devops的一鍵測試環境部署實踐
    產品支持的資料庫、應用伺服器、中間件、作業系統等的多樣化,使測試環境的組合越來越多,導致測試環境的部署難度不斷增加。如何選擇一個合適的工具,實現多樣化環境部署的同時保證部署操作的易用性。下面分享一下我們基於Ansible和Devops實現的一鍵式測試環境部署的過程。
  • 2020年DevOps的7大趨勢
    不論組織的規模,規模和預算如何,2020年組織將開始更加關注與安全相關的問題。從DevOps到DevSecOps的轉變將導致安全團隊與Dev和Ops團隊的良好協作。它將安全性集成到開發過程中,減少漏洞並提高企業聲譽。將DevOps與安全性相結合將使更快的開發過程得到保護。但是我們怎麼得到安全呢?