01 類似jenkins的自動化工具(作為程序員的你,常用的軟件有哪些?)

时间:2024-05-23 04:08:54 编辑: 来源:

請問自動化工具有哪些?本人小測試,現在想學習自動化,市面上的自動

持續的集成服務

過去十年來在軟件開發領域到來的自動化一個最大的變化是任務自動化。在過去,像構建一個應用的特殊版本,創建文檔,或者更新bug報告的狀態是人為的。一些團隊甚至貢獻為了 啟動一個版本而負責的"創建人"責任。像這些人為的任務(或者是緊緊地綁定給個人或機器)是消耗時間的,并且創建來為了避免瓶頸,比如創建人占據私人的一天并阻礙新版本被完成。

幸運的是,持續集成(CI)工具通過允許任務被標準化和自動化來挽救。持續集成服務重要地安排和執行任務,一個規則的臺式電腦能做的任務并且讓這些任務在目標機器上執行而不是它自己。回到創建版本的例子,取代讓鮑勃為手工在他的機器上創建版本負責,一個持續集成服務能被集成去選擇一個目標機器并且在那臺機器上執行版本。不僅使鮑勃不需要身體上在那臺版本機器出現,而且能在任意時刻發生版本創建,不管是已安排的或者是為了響應另一個動作。

使用持續集成的一個途徑是跑端到端的測試套裝。這些測試經常需要跑數分鐘甚至數小時。我使用過持續集成去自旋向上和自旋向下測試機器并且發起在那些測試機器上的測試。相對于在你自己機器上跑這些測試這是一個很大的幫助,因為它允許一個測試開發者當測試到處跑的時候去做其他的工作。持續集成的服務器控制著所有這些任務的方方面面。

一些持續集成服務的普通例子是開源工具Jenkins,基于云的Travis CI,和專屬工具Bamboo,但是這些也是其他的一些。甚至更低技術是使用一個像克隆或者windows任務分配者的工具為了在單一機器上去使任務自動化。

CI對于開發軟件愛好之外的編程是獨立的,并且它是一個測試能確實增加價值的一個地方。

現代源碼控制

我首先需要指出我愛源碼。當編寫代碼(或者博客!)時,它是一個很有幫助而不僅是工具。對于一個編碼的測試員,它是一個無需腦力者。甚至即使一個測試不編碼,當測試軟件時以現代方法使用源碼控制可能是一個大的利益。

在現代方法中"我"的意思是什么?"我"的意思是使用源碼控制1)集成其他工具,比如CI服務器或者問題追蹤器,并且2)允許使用好的團隊流程習慣,比如基于干線的開發。好的源碼控制允許個人去分析變化和更深地挖掘軟件工程正在發生什么。

一個接近源碼歷史和一些基本學習的測試能問出像"在應用里的哪個文件有最多的開發在它們上面工作?""哪個文件有最大的變化?""哪個變化的設置包含引起問題的代碼?"等待。這個信息有助于找到步調且暗示一些事件的引發。

用CI集成源代碼甚至能更加有力。在問題跟蹤者的事件能使它們的狀態在由開發引起的變化中更新。測試者能要求必要的需求在輸入的代碼被自動查找出來,比如通過自動測試或者代碼模式需求。建構和部署能被改代碼發起。當源碼控制被很好使用,在這種情況下有很多種可能,這是一個在持續傳遞后隱含的概念。

舉個例子,我在一個使用基于云集成服務的開源項目上工作為了檢查每一個由提交者提交的交付。在這個項目里,持續集成運行所有的自動化測試并且檢查所有為形式和格式增加的代碼。假如一個提交造成錯誤的測試,或者沒有滿足設置的風格向導,提交失敗了并且暗示了提交者和項目維持者去修改提交。這有助于提供項目歷史里以統一的風格每一個提交并且暗示了提交者在增加或者更新模塊中可能的微小錯誤。

這些目前在源碼控制的熱點是Git,自由和開放代碼的,在它周邊有著健壯的生態系統。這些也是一些其他的方面,比如Subversion,Mercurial和微軟團隊基金會。

遙測和監控

這是一個我并不熟悉的主題,但是它確定是測試者們感興趣的。監控是一種方法,從此掛鉤被放在一個應用程序里去發回關于軟件是如何被使用的信息給軟件創造者。這能包含正被使用的后端/服務器應用程序接口函數,并且在哪個指令,由被使用的由用戶界面組成的部分和在什么頻率上,等等。

這個目標不是為了發送特殊的用戶信息返回給開發團隊,更普通的信息是關于一個應用程序正在被用著的和如何被用的部分。這提供了終端用戶在做什么的視角,他們實際上如何使用應用程序,并且特定屬性如何被得到。安蘭培是個微軟測試,曾經簡短討論這事情的他曾做過的通過遙測和監視的一部分。

類似于最小化資源控制歷史,監視能幫助你找出答案,從簡單的問題中("上周多少人記錄?")到更特殊的和可視化的問題("當特性X被發布時用戶們如何改變他們的習慣?")。這些是幫助測試們執行更好的測試策略的種類問題,并且,總的說來,幫助團隊對用戶做更好的選擇。

也使用Selenium

最后一點,但這不意味著這不重要,對于使用web應用程序以及其相似的應用程序的測試者來說,Selenium WebDriver是一個很好的工具。在這一點上,WebDriver是一個用于自動驅動瀏覽器行為的標準工具,類似于一個人類用戶如何在瀏覽器中用網站APP交互。它有一些語言綁定,和一些主流瀏覽器工作,并且是一款非常好的能被開發第一組件的可擴展性API的例子。簡言之,它是一個優秀的工作。

當被靈活地使用時,WebDriver允許測試和開發去使用戶體驗性測試得到自動化,這個可以被放在一個持續性的可傳遞流程。我寫了一個簡單的基于網頁驅動的測試,可以找到像導航到登錄頁面的鏈接的事務,而不是尋找用戶名和密碼場合(由于壞的部署),或者尋找一個不打開的對話當一個控制被點擊成想象的(一個明顯的但嚴重的問題)。這些是很快被找到的事情但是不能被單元測試覆蓋。

WebDriver也能被用在寫自動化的測試,可以被本地執行去雙重檢查那些不會以非預約的方式打斷重要特性的變化。這些甚至是WebDriver用于擴展功能測試以外的用處。

對于對學習代碼感興趣的測試來說,WebDriver能提供一個好的學習代碼的介紹。自動化測試腳本能是一個容易的方法去熟悉編程而不是深入挖掘代碼語言鴻溝。它提供足夠的架構去開始,并且仍然能夠完成一些很好的測試工作。

大腦有這些概念,加強測試自動化,不管你在軟件開發中的角色是什么。

自動化部署工具jenkins,從此擺脫重復單調的工作

它是基于Java開發的一種持續集成工具,用于監控持續重復的工作,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。

有了它你可以免除手工編譯,發布代碼,上線更容易。節省的時間你可以喝杯咖啡,放松一下 ^_^

道路千萬條,熟悉第一條,我這里使用 Red Hat 家族衍生的 centos 上安裝Jenkins。

這里可以下載rpm包: 買粉絲://pkg.jenkins-ci.org/redhat/

也可以如下操作:

安裝

將Jenkins存儲庫添加到yum repos,并從此處安裝Jenkins。

安裝穩定版

還有一個LTS YUM資源庫的LTS版本線

安裝Java

Jenkins需要Java才能運行,但默認情況下某些發行版不包含此內容。要安裝Open Java Development Kit(OpenJDK),請運行以下命令:

安裝完成后Jenkins 啟動之前的注意事項

默認情況是Jenkins是使用Jenkins用戶啟動的,但這個用戶目前系統并沒有賦予權限,這里我們將啟動用戶修改為root;另外Jenkins默認端口是8080,這個跟tomcat的默認端口沖突,我們也修改一下默認端口。

找到 JENKINS_USER 和JENKINS_PORT ,修改為root和你需要的端口

啟動/停止

注意:如果收到以下錯誤消息,請確保已安裝Java:

Starting jenkins (via systemctl): Job for jenkins.service failed. See 'systemctl status jenkins.service' and 'journalctl -xn' for details.[FAILED]

禁用防火墻

有關CentOS Java的重要說明

Jenkins需要Java才能運行,但yum install jenkins不強制已經安裝了java。檢查以確保您已通過運行安裝了hava java java -version。為了進一步使CentOS用戶感到困難,默認的CentOS版本的Java與Jenkins不兼容。Jenkins通常最適合使用Java的Sun實現,由于許可原因,它不包含在CentOS中。

如果您獲得類似于以下內容的輸出,則表示您使用的是Java的默認(GCJ)版本,該版本不適用于Jenkins:

要解決此問題,您可能需要刪除GC的GCJ版本并安裝Sun兼容版本。

如果收到上面的輸出,請卸載默認的java:

然后在卸載Java之后(或者如果你根本沒有安裝Java那么開始)。您需要安裝與Sun兼容的Java版本。最簡單的方法是使用OpenJDK,它可以通過EPEL存儲庫獲得(或者您可以直接從Oracle安裝官方 RPM)。要安裝OpenJDK,請運行以下命令:

根據您的CentOS版本,OpenJDK的軟件包名稱可能有所不同。使用yum search openjdk來檢查包的名稱。如果通過yum找不到OpenJDK,則可能需要安裝EPEL yum存儲庫。安裝后,您應該能夠獲得以下java -version輸出:

Ok,到此jenkins安裝完成。

接下來你可以在瀏覽器地址中輸入Jenkins買粉絲,如:IP:端口,將顯示如下內容:

拷貝指定文件密碼,進入用戶自定義插件界面,建議選擇安裝官方推薦插件:

接下來是進入插件安裝進度界面:

等待一段時間之后,插件安裝完成,配置用戶名密碼:

OK,你可以使用jenkins來編譯、發布你的代碼了。oh,它支持從代碼庫中直接拉取代碼,git、svn都支持。趕快使用你的Spring boot、go試試吧。

常用的自動化測試工具有哪些

1、Appium

AppUI自動化測試

Appium 是一個移動端自動化測試 開源工具,支持iOS 和Android 平臺,支持Python、Java 等語言,即同一套Java 或Python 腳本可以同時運行在iOS 和Android平臺,Appium 是一個C/S 架構,核心是一個 Web 服務器,它提供了一套 REST 的接口。當收到客戶端的連接后,就會監聽到命令,然后在移動設備上執行這些命令,最后將執

搜索关键词: