使用Java編寫第一個接口自動化程序

最近很久沒更新了,一直在看接口方面的東西,所以現在開始,準備更新了。

從本質來說,我們通常使用的接口測試工具postman,fiddler或者一些其他的在線接口測試,等等都是由java寫的,所以我們當然也可以用java來實現發包的過程

首先,我們可以看一下一個註冊的接口(此接口是我部署在本地的服務器上,如果你們用的話,可以使用你們公司的接口進行test)

接口地址格式一般是這樣的:http://主機地址:端口號/futuremery/mvc/api/模塊/接口名

http://localhost:8080/futuremery/mvc/api/member/register
{"status":0,"code":"20103","data":null,"msg":"手機號不能爲空"},可以看到如果我們不帶請求參數的話,返回的值是顯示手機號不能爲空的,

現在我們來用fiddler先測試一下已經被註冊過的手機號再次註冊返回的是什麼

好,可以看到顯示的手機號碼已被註冊,那麼我們現在就來模擬下fiddler發包,並且,拿到響應的數據信息

這裏的話我們提一下,用的是maven來管理項目,所以我們需要先配置下pom.xml,這裏面我已經給大家準備好了

<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>4.5.2</version>
		</dependency>

下面先來看一下我們的代碼

package auto.api.test;

import java.io.IOException;

import org.apache.http.Header;
import org.apache.http.ProtocolVersion;
import org.apache.http.StatusLine;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;


public class ApiTest {
		public static void main(String[] args) throws ClientProtocolException, IOException {
			
			//1.發包,準備url
			String url = "http://localhost:8080/futuremery/mvc/api/member/register?mobilephone=13666666666&pwd=123456";
			//2.設置請求方法
			HttpGet get = new HttpGet(url);
			//準備客戶端
			CloseableHttpClient httpClient = HttpClients.createDefault();
			//發包
			CloseableHttpResponse response = httpClient.execute(get);
			//驗證響應頭信息  HTTP/1.1 200 OK 
//			ProtocolVersion  httpVer = response.getProtocolVersion();
			//驗證響應頭信息  HTTP/1.1 200 OK 
			StatusLine  stateLine = response.getStatusLine();
			 //獲取協議版本
			ProtocolVersion httpVersion = stateLine.getProtocolVersion();
			System.out.println(httpVersion);
			//獲取狀態碼
			int stateCode = stateLine.getStatusCode();
			System.out.println( stateCode);
                        //遍歷所有的頭部信息
			Header[]  allheaders =  response.getAllHeaders();
			for (Header header : allheaders) {
				System.out.println(header.getName() +":"+ header.getValue());
			}		
			System.out.println();
			//響應體,toString方法可以將響應體轉換成字符串
			String entityStr =  EntityUtils.toString(response.getEntity());
			System.out.println(entityStr);
			
		}
}

接着我們來看一下控制檯的輸出,和fiddler測試的結果一致,好的,這就是最簡單的接口自動化測試了

HTTP/1.1
200
Server:Apache-Coyote/1.1
Content-Type:application/json;charset=UTF-8
Transfer-Encoding:chunked
Date:Thu, 09 May 2019 08:58:25 GMT

{"status":0,"code":"20110","data":null,"msg":"手機號碼已被註冊"}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章