高階測試工程師必備技術:用Git版本控制自動化測試程式碼
初識Git版本控制
自動化測試程式碼反覆執行,如果借用持續整合工具會提高測試效率,那麼需要我們把自動化測試程式碼釋出到正式環境中,這時候用Git版本控制工具高效、穩定、便捷。 加我VX:atstudy-js 回覆“測試”,進入 自動化測試學習交流群~~
分散式版本控制
Git可以把程式碼倉庫完整地映象下來,有完整的歷史記錄,它可以與遠端程式碼庫進行互動。
簡史
Git誕生於2005年,速度快,極適合管理大專案。
Git是什麼
其他版本控制系統如SVN,是隨時間變化的差異性檔案比較,在某時間段某些檔案進行更新。
Git是快照流,儲存專案隨時間改變的快照,幾乎大部分操作都只需要訪問本地檔案和資源。保證完整性,用雜湊Hash,一般只新增資料,不刪除。
Git三種狀態:
已修改:在工作區修改檔案,但沒儲存到資料庫
已暫存: 在暫存區對已修改的檔案做標記,使其包含在下次提交的快照中
已提交:在Git目錄安全地儲存資料到本地資料庫
基本Git工作流程:
①工作區修改檔案;
②暫存區將下次提交的更改選擇性暫存,修改部分新增到暫存區;
③提交更新,找到暫存區的檔案,將快照永久儲存在Git目錄。
命令列
所有人都有命令列工具,會命令列則應該會GUI。
安裝Git
本次實踐安裝的最新版2.36.0,官網下載windows版本。
初次執行Git前的配置
設定使用者資訊,以下命令: git config --global user.name “” git config --global user.email “” 如果想給特定專案設定使用者資訊,則在該專案目錄下執行無--global的命令。
設定文字編輯器,如未配置,Git會使用作業系統自帶的編輯器。 設定notepad++為文字編輯器: git config --global core.editor “’d:\dev\notepad++\notepad++.exe” -multiInst -notabbar -nosession -noPlugin”
檢查配置資訊:
git config --list
可逐項檢查,如:
git config username
獲得幫助
git help +Verb,例如git help config。如果不用全面只需快速參考,使用命令git +Verb -h,例如git add -h。
Git基礎
獲取Git倉庫
兩種獲得Git專案倉庫的方式:
①對尚未進行版本控制的本地目錄轉換為Git倉庫;
②從其他伺服器克隆一個已存在的Git倉庫。
(1)對已存在目錄中初始化倉庫
如果有一個尚未進行版本控制的專案目錄,想要用Git控制它,那麼需要進入該專案目錄中。
在Windows上:
cd c/user/my_project
之後執行:
git init
該命令將建立名為.git的子目錄,這個子目錄含有你做初始化的Git倉庫中所有的必須檔案,這些檔案是Git倉庫的骨幹。這時,我們僅僅是做了一個初始化的操作,你的專案裡的檔案還沒有被跟蹤。
如圖所示:
圖1
圖3
如果在一個已存在檔案的資料夾(非空資料夾)中進行版本控制,應該開始追蹤這些檔案並進行初始提交。
可以透過git add命令指定所需的檔案進行追蹤,然後執行git commit:
git add *.c
git add LICENSE
git commit -m ‘initial project version’
如圖所示:
圖4
這樣已經得到了一個存在被追蹤檔案與初始提交的Git倉庫。
(2)克隆現有的倉庫
如果想獲得一份已經存在了的Git倉庫的複製,比如說,想為某個開源專案貢獻自己的一份力,這時就要用到git clone命令。
如果對其他VCS系統(比如Subversion)很熟悉,請留心以下所使用的命令是“clone”而不是“checkout”。這是Git區別於其他版本控制系統的一個重要特性,Git克隆的是該Git倉庫伺服器上的幾乎所有資料,而不是僅僅複製完成你的工作所需要檔案。
當你執行git clone命令的時候,預設配置下遠端Git倉庫中的每一個檔案的每個版本都將被拉取下來。實際上,如果伺服器磁碟壞掉了,通常可以使用任何一個克隆下來的使用者端來重建伺服器上的倉庫(雖然可能會丟失某些伺服器端的hook設定,但是所有版本的資料仍在)。
克隆倉庫的命令是git clone。比如,要克隆Git的自建專案HTMLTestRunner,可以用下面的命令:
git clone
這會在當前目錄下建立一個名為“HTMLTestRunner”的目錄,並在這個目錄下初始化一個.git資料夾,從遠端倉庫拉取下所有資料放入.git資料夾,然後從中讀取最新版本的檔案的複製。
如果開啟這個新建的HTMLTestRunner資料夾,會發現所有專案檔案已經在裡面了,準備就緒等待後續的開發和使用。
如下圖:
圖5
圖6
如果想在克隆遠端倉庫的時候,自定義本地倉庫的名字,可以透過額外的引數指定新的目錄名:
git clone myhtmltestrunner
這會執行與上一條命令相同的操作,但是目標目錄名變成了myhtmltestrunner。
如下圖:
圖7
圖8
Git支援多種資料傳輸協議。以上的例子使用的是https://協議,不過也可以使用git://協議或者使用 SSH 傳輸協議,例如user@server:path/to/repo.git。
至於所有這些協議在伺服器端是如何配置使用,以及各種方式之間的利弊請檢視“在伺服器上搭建 Git”的介紹。
記錄每次更新到倉庫
執行命令:
git commit -m “描述”
檢視提交歷史
執行命令:
git log
如果附帶一系列總結的文字,執行命令:
git log --stat
如果限制日誌檢視數量,執行命令git log -p -2,當退出log時,在冒號“:”後面敲q即可。
以下表格引自官網:
感謝大家的閱讀,希望你們能從中有所收穫!
最後:
可以到我的個人V:atstudy-js,可以免費領取一份10G軟體測試工程師面試寶典文件資料。以及相對應的影片學習教程免費分享!其中包括了有基礎知識、Linux必備、Mysql資料庫、抓包工具、介面測試工具、測試進階-Python程式設計、Web自動化測試、APP自動化測試、介面自動化測試、測試高階持續整合、測試架構開發測試框架、效能測試等。
這些測試資料,對於做【軟體測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2924391/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [原創] 上海招聘高階測試工程師(效能測試/自動化測試/App測試),長期有效工程師APP
- 乾貨 | Dubbo 介面測試技術,測試開發進階必備
- App自動化測試:高階控制元件互動技巧APP控制元件
- 軟體測試工程師必備技工程師
- 測試進階高薪人才必備,分享Selenium自動化測試課程影片(23集)高薪
- 測者的測試技術手冊:自動的自動化EvoSuite 自動生成JUnit的測試用例UI
- 《QTP自動化測試進階》準備加印!QT
- 小程式自動化測試--測試3
- 面向開發的測試技術(三):Web自動化測試Web
- 如何編寫介面測試用例?測試工程師必備技能!工程師
- 自動化測試系列 —— UI自動化測試UI
- 軟體測試必備 - 14個介面與自動化測試練習網站網站
- 技術必備:推薦一款介面自動化測試資料校驗神器
- 解放雙手——你知道軟體測試階段都有哪些主流自動化測試技術嗎?
- 測試開發技能:JMeter高階教程——效能測試與自動化雲監控JMeter
- 軟體測試:自動化測試
- 專案必備技術之單元測試
- 最新測試技術:使用狀態遷移法設計自動化駕駛測試用例
- 【自動化測試入門】自動化測試思維
- 軟體測試員必備基礎:3分鐘帶你入門自動化測試!
- 12 款 JS 程式碼測試必備工具JS
- 自動化測試進階課程——Selenium自動化測試通關實戰班
- 手工測試和自動化測試 BattleBAT
- 自動化測試系列(三)|UI測試UI
- Junit測試Android自動化測試Android
- Web自動化-Selenium自動化測試-4-編寫測試用例Web
- 【編測編學】自動化測試面試必背(上)面試
- 【編測編學】自動化測試面試必背(下)面試
- 學點高階測試工程師才懂的技術:手把手教你進行越權測試工程師
- 功能測試、自動化測試、效能測試的區別
- 《QTP自動化測試進階》樣章QT
- 《QTP自動化測試進階》51CTO試讀QT
- 2019測試員必備武器:世界排名前5的自動化測試工具
- 如何學習自動化測試?從手工測試到自動化測試的過程…
- 【入門必備】超實用的五種python自動化測試框架!Python框架
- AR自動化測試工具即將推出無程式碼化的新版本!-Alltesting|澤眾雲測試
- 自動化裝置測試與自動化測試的區別
- 手工測試用例與自動化測試用例的區別