1. 程式人生 > >HTTP介面自動化和持續整合(ant+maven+JenKins)

HTTP介面自動化和持續整合(ant+maven+JenKins)

1、APP效能測試和自動化測試

1.1、APP效能測試

 1.1.1、客戶端

    主要測試以下8個指標,可通過Testin的標準相容測試獲取這些指標

    在終端列表-詳情頁的最下方可檢視具體某臺手機上的效能指標。

 1.1.2、伺服器

    測試方法和Web服務端測試一樣,大多都走的介面,有些專案是http介面,有些是webservice介面,針對介面的壓力測試或者併發測試可以使用Jmeter、LoadRunner等工具。雖然有些效能測試工具比如Loadrunner高版本已經支援錄製APP端的指令碼,但實際操作起來還是比較困難的。

1.2、APP自動化測試

1.2.1、UI自動化測試

    UI測試是測試APP與一個真實或模擬使用者的互動情況。確保應用程式在使用者執行一系列手勢(點選、長按、滑動或滾動等)操作之後返回的UI輸出是否符合產品需求和設計稿,如鍵盤輸入或按工具欄單、對話方塊、影象等UI控制元件,其中最重要產品操作流程是否符合需求。進行UI測試,一般有兩個選擇:

     一是在真機或模擬器中來使用這個APP,根據產品需求、設計稿和測試用例把這個APP的所有流程、每一頁都儘可能走一遍,並且嘗試各種方法來發現應用是否有不符合產品需求和設計稿的異常表現。

     二是使用UI自動化測試工具,在這些工具提供的框架裡編寫程式碼直接操作APP所用到的UI控制元件,模擬使用者點選、長按、滑動或滾動等手勢操作,編碼之前可以先用uiautomatorviewer工具獲取被測控制元件的屬性,常用工具 uiautomato、Monkerunner、Robotium、Appium和Monkey(這個嚴格不算)等。

1.2.2、介面自動化

a、自己用Java編寫介面自動化測試程式

b、詳見《HTTP協議和介面測試》

c、詳見《第2章以後》

1.2.3、持續整合

詳見《第2章以後》

2、持續整合

    這是專案管理中的一個概念,通常大型專案都會有一個主線版本和很多個分支版本(可以理解為一個專案分為多個模組組),每一輪產品迭代都要把這些分支版本整合到主線中統一發布(就是合程式碼)。實際的專案管理中,要進行頻繁的整合,幾天就要一次或者一天一次(就是dailybuild),這樣就能快速儘早發現問題,否則分支版本就會大幅度偏離主線,導致以後整合的難度變大,甚至難以整合。

    它的核心措施就是,整合之前,小組裡的每個人必須通過自動化的構建(包括編譯、釋出、自動化測試),每個分支版本也必須通過自動化的構建,如果有測試用例失敗就不能整合。整合之後對主線版本也進行dailybuild。這種自動化的構建通常由專門一個自動化測試團隊來負責,編寫用例、維護環境等,無需太多人工干預,讓開發人員可以更專心的從事開發工作。

    以下介紹的就是自動化測試的一種---http介面自動化測試。使用的是Jmeter+ant+ maven+jinkens 組合。

3、安裝JKD和Jmeter

   自動化框架的核心,每個介面測試用例還是由Jmeter來完成的。詳見《Jmeter》和《介面測試》。這倆環境安裝部署完成之後,就要編寫介面測試指令碼.jmx了,保證手動操作Jmeter執行這些指令碼是能實現用例目的的。

4、安裝Ant

  Apache-Ant是一個自動化部署、構建和測試的工具,已經可以實現自動化功能(dos裡手動敲ant批量執行jmeter指令碼)了,只往後面還能夠更加智慧。ant指令相當於Linux下的make命令,預設構建檔案是builid.xml,相當於makefile檔案,可使用Eclipse自動生成模板。

   第一、解壓安裝Ant,並配置ANT_HOME和PATH,完成後可使用ant  -version檢視。

   第二、將JMeter所在目錄下extras子目錄裡的ant-JMeter-1.1.1.jar複製到Ant安裝目錄lib子目錄下。

   第三、準備測試報告的格式檔案,我這裡準備了兩種格式檔案,檔名不同,都放到jmeter的extras目錄下。

   第四、修改jmeter/bin/jmeter.properties檔案,找到jmeter.save.saveservice.output_format所在行,去掉註釋並賦值為xml。

   第五、準備Ant指令碼目錄:

        

    第六、DOS裡執行:進入D:/jmeter_test/目錄,輸入ant就會根據build.xml批量執行script下的所有jmx指令碼,D:\jmeter_test\result_log\html\下可檢視測試報告。

    第七、檢視測試報告

5、安裝Maven和Jenkins

    把Jmeter、ant、maven都整合在JenKins裡,可以實現定時啟動測試、線上檢視測試報告的功能,Ant是軟體構建工具,Maven的定位是軟體專案管理工具,Jenkins是一個可擴充套件的持續整合引擎。

    第一、解壓安裝Maven,並配置MAVEN_HOME和PATH,完成後可使用maven  -version檢視,如果不能查詢相應資訊,可以重啟裝置。

    第二、雙擊jenkins.msi安裝,安裝完成後會自動開啟http://localhost:8080,第一次啟動就如下圖。

    第三、如何修改埠號。Jenkins的預設埠是8080,但是8080這個埠是安全埠,很多程式或者服務都需要使用這個埠(埠分公認埠、註冊埠和動態/私有埠三類),對這種埠衝突,我們只能選擇改變Jenkins的埠。方法是:在控制檯中執行命令cd <JENKINS_HOME> 然後Java -jarjenkins.war --httpPort=8081。這樣可以臨時修改Jenkins埠,如果重啟Jenkins會發現啟動的還是8080埠。為了永遠的解決這個問題,我們可以使用bat指令碼或者shell指令碼。bat指令碼為例:set JENKINS_HOME=C:\Jenkinscd <JENKINS_HOME>然後 java -jarjenkins.war --httpPort=8081。每次都通過執行這個指令碼來啟動Jenkins,其實就是每次都設定一次Jenkins的埠。

    第四、如何關閉和啟動jenkens服務。jenkins服務預設是自啟動的。首先dos通過netstop/start  jenkins兩條命令關閉或開啟jenkins服務了。

6、新建和執行任務

6.1、新建任務

1、先新建->輸入item名稱->ok,進入任務配置頁

2、然後在任務配置頁中,繼續配置,最後儲存。

3、儲存後就建立給任務並預設進入該任務的“狀態”頁


4、點選“Jenkins”或者返回面板可以返回主面板,檢視所有任務的最近一次構建狀態

6.2、執行任務

1、手動隨時構建,有三種方式

2、自動定時構建,等同Linux的Crontab定時任務

這兩種方式都等同於dos裡在ant安裝目錄下執行ant命令,完成後可檢視以下資訊......


7、後期擴充套件

7.1、整合測試報告

就是可以在Jenkins服務中檢視ant的html測試報告。

第一、安裝html publisher plugins外掛

第二、配置該工程的“構建後操作”





7.2、整合郵件傳送功能

通過設定以下兩項,可以選擇在什麼情況下,Jenkins會發郵件給指定的郵箱


相關推薦

HTTP介面自動化持續整合(ant+maven+JenKins)

1、APP效能測試和自動化測試 1.1、APP效能測試  1.1.1、客戶端     主要測試以下8個指標,可通過Testin的標準相容測試獲取這些指標     在終端列表-詳情頁的最下方可檢視具體某臺手機上的效能指標。  1.1.2、伺服器     測試方法和Web服

jenkins+ant+jmeter介面自動化持續整合測試框架

在忙裡的空閒中,這幾天晚上回來學習,將jenkins+ant+jmeter介面自動化的持續整合測試的整套環境搭建成功了。 現在補上。 Ant安裝 2. 下載成功到本地後,將其解壓,然後放到本地目錄D:\ant\ 設定環境變數 計算 —-》屬

介面自動化測試持續整合--Soapui介面測試

介面測試目前筆者掌握的工具有三種: 一、python+requests+jenkins,優點:程式碼實現介面測試,對測試程式碼書寫比較自由等;缺點:需要測試者需要有一定的程式碼基礎; 二、jmeter+ant+jenkins,優點:實現介面測試的操作步驟簡單;缺點:專案工程結構複雜,維護性較差; 三、s

介面自動化測試持續整合--Soapui介面功能測試資料傳遞

做介面測試經常會遇到如下兩種情況需要處理資料傳遞 介面間的資料依賴,A介面請求的引數需要用到B介面的返回值 介面請求通常要用到鑑權的介面獲取Token,Token通常會跟其他介面構成一對多的關係,這種情況下我們可以把Token的介面做成一個公共的TestCase,供其他的TestCas

介面自動化測試持續整合--Soapui介面功能測試持續整合

Soapui介面功能測試持續整合,需要先安裝好maven和jenkins,maven和jenkins安裝和系統環境配置比較簡單,在這裡不做敘述。     1.Soapui儲存的工程檔案

介面自動化測試(使用testng,reportng,maven,jenkins)

文章記錄關鍵的幾個步驟 1.testng中使用reportng的測試報告,配置在測試檔案的xml中 <listeners><listener class-name="org.uncommons.reportng.HTMLReporter" /><

IDEA+maven+java+TestNG+git+jenkins 第八篇自動化持續整合

1、安裝JDK,設定環境變數,這裡就不講了網上都有教程; 2、新建一個maven專案,編寫程式,這裡也不講了前面七篇講過了; 3、安裝jenkins,也很簡單,可以直接安裝在windwos系統上也可安裝到tomcat中還可以安裝到應用伺服器中; 4、在jenkins中安裝相應的外掛,主要

HTTP介面自動化經驗總結(四)Okhttp3 介面測試用例編寫

經過前面幾次的分享,我們已經有了方法和結果,那麼這篇文章我們就來寫測試用例。 首先我們新建一個TestNG class,名字為APITest,繼承我們的依賴方法DependeicesMethod 1.get介面測試 //測試Get方法,其餘校驗請自行新增 @Test

HTTP介面自動化經驗總結(三)Okhttp3 介面測試框架搭建之資料處理

上篇文章寫了怎麼新建POST,GET方法。這篇文章介紹下該如何校驗。 因為我們在方法裡面都返回了String型別結果,String型別校驗起來比較麻煩。多數http介面返回的都是json形式。我們可以寫一個通用方法將String型別轉換為Map物件這樣校驗就比較方便準確了。廢話不多說直接上方法。

HTTP介面自動化經驗總結(二)Okhttp3 介面測試框架搭建

搭建這套環境前,需要Eclipse安裝testNG,Maven 1.Eclipse安裝testNG https://mp.csdn.net/postedit/81868683 2.Eclipse安裝Maven http://www.cnblogs.com/pengyan-9826/p

HTTP介面自動化經驗總結(一)介面自動化簡述

講介面自動化之前,先說說介面測試的優勢。      以下是我總結的幾點。 介面測試位於功能測試前,發現bug早修改早成本低。 介面測試的引數會比開發的引數更豐富,得到的結果更快更多。 能發現大部分介面未校驗的引數,省去我們功能測試輸入太多數值。

Dubbo+Zookeeper架構—持續整合篇9—Jenkins自動化部署:git的安裝使用

在linux伺服器中安裝git, 安裝maven, 建立一個jenkens目錄, 配置git的公鑰到你的github上, 這些步驟是使用jenkins的前提。 git的安裝 安裝git的目的是在自動化部署前實時從git遠端

Dubbo+Zookeeper架構—持續整合篇11—Jenkins自動化部署:Jenkins註冊遠端伺服器節點

有的時候我們的jenkins裝在本機,而專案執行是需要釋出到遠端伺服器的。 1、開啟伺服器上的ssh服務,可通過 netstat -anp | grep :22命令檢視是否開啟 2、先來測試一下怎麼在jenkins中操作遠端伺服器 在jenkins中選擇系統管理——

Dubbo+Zookeeper架構—持續整合篇14—Jenkins自動化部署:Jenkins編譯一個Web專案並遠端釋出到Tomcat

上一章講了如何編譯我們第一個專案 但是有時候我們不僅僅只是編譯更多的是需要釋出 在微服務普及之前我們最常用的就無非就是通過tomcat執行war格式的專案了,本章將介紹如何配置一個傳統的Java web專案併發布到遠端tomcat上。 這裡需要用到的外掛為:Deploy t

Docker系列之九:Docker用於持續整合,構建JenkinsDocker伺服器

系列連結 Docker系列之一:Docker介紹及在Ubuntu上安裝 Docker系列之二:Docker 入門 Docker系列之三:使用Docker映象和倉庫 Docker系列之四:Dockerfile的使用 Docker系列之五:Volume 卷的使用——以Redis為例

maven安裝eclipse整合以及Maven之setting.xml配置檔案詳解

由於maven需要JDK的支援,所以在安裝maven之前請確保電腦上已經安裝了JDK,且配置好了環境變數,具體的JDK的安裝及配置可自行百度。下面進入安裝 一、maven安裝 前面已經下載了相應版本的maven,且已經配置好JDK的環境;     1

jenkins+python自動化測試持續整合

一、首先我們安裝Jenkins,我這裡採用的是.msi應用程式,根據提示進行安裝(傻瓜式),最後會開啟預設的網頁地址:http://localhost:8080 如果埠有衝突,可以去Jenkins的安裝目錄下的這個檔案去改埠: 二、進入Jenkins的介面,會

簡單的python http介面自動化指令碼

今天給大家分享一個簡單的python指令碼,使用python進行http的介面測試,指令碼很簡單,邏輯是:讀取excel寫好的測試用例,然後根據excel中的用例內容進行呼叫,判斷預期結果中的返回值是否和返回報文中的值一致,如果不一致則根據用例標題把bug提交到bug管理系統

jenkins+jmeter+maven介面自動化測試框架搭建【maven專案建立】

一、jmeter指令碼錄製或編寫        根據自己習慣錄製或編寫jmeter指令碼,保證指令碼可正確執行。 二、用eclipse建立maven專案 1.File->New->Project...開啟new project視窗(如下圖), 2.選擇

postman+jenkins+newman做介面測試的持續整合

為何要做介面自動化測試的持續整合? 1. 介面相對穩定,改動少,比起GUI自動化測試來說價效比更加高些,不容易出現GUI自動化那種掉到維護指令碼的坑裡。 2. 介面測試比較簡單,一個規範的介面,測試只需要按照介面擴充套件測試用例就行,覆蓋上較方便,後期維護介面時也比較快捷。 3. 利用持續整合的優勢