httpclent

![代碼測(cè)接口.jpg](https://upload-images.jianshu.io/upload_images/13983732-61b8851cd168fcf7.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

# 接口

* [以此網(wǎng)頁(yè)為例](http://qa.guoyasoft.com:8080/swagger-ui.html)

## 新增賬戶接口

* 請(qǐng)求方法:post

* 接口地址:/account/add

* 參數(shù)格式:鍵值對(duì)

```

public class TestAPI {

? @Test

? public void testAddAccountAll() {

? ? //正常流_添加賬戶_全字段正常

? ? //請(qǐng)求url

? ? String url = "http://qa.guoyasoft.com:8080/account/add";

? ? //請(qǐng)求參數(shù)

? ? String data = "accountName=renlb1211&customerName=任立波";

? ? //使用dopost方法給服務(wù)器發(fā)送請(qǐng)求豁护,注意這里(application/x-www-form-urlencoded)

? ? String result = HttpClientUtil.doPost(url, "application/x-www-form-urlencoded", data);

? ? //打印響應(yīng)結(jié)果

? ? System.out.println(result);

? ? //判斷響應(yīng)里是否包含? "respCode": "0000"字符串

? ? boolean actual = result.contains("\"respCode\":\"0000\"");

? ? //斷言

? ? Assert.assertEquals(actual, true);

? }

```

## 查詢賬戶接口

* 接口地址:/account/get

* 請(qǐng)求方法:get

```

@Test

? public? void testGetAccountall(){

? ? //正常流_查詢賬戶_全字段正常

? ? //url

? ? String url ="http://qa.guoyasoft.com:8080/account/get?accountName=renlibo";

? ? //使用doget方法給服務(wù)器發(fā)送請(qǐng)求

? ? String result = HttpClientUtil.doGet(url);

? ? //打印響應(yīng)結(jié)果

? ? System.out.println(result);

? ? //判斷響應(yīng)是否包含"accountName": "renlibo"

? ? boolean actual = result.contains("\"accountName\":\"renlibo\"");

? ? //斷言

? ? Assert.assertEquals(actual,true);

? }

```

## 充值接口

* 請(qǐng)求方法:post

* 接口地址:/accountBill/recharge

* 參數(shù)格式:json

```

@Test

? public? void testRechargeAccountall(){

? ? //正常流_充值賬戶_全字段正常

? ? //url

? ? String url = "http://qa.guoyasoft.com:8080/accountBill/recharge";

? ? //請(qǐng)求參數(shù)

? ? String data ="{\n"

? ? ? ? + "? \"accountName\": \"renlibo\",\n"

? ? ? ? + "? \"busiDesc\": \"string\",\n"

? ? ? ? + "? \"changeMoney\": 10000,\n"

? ? ? ? + "? \"mark\": \"string\",\n"

? ? ? ? + "? \"operator\": \"string\"\n"

? ? ? ? + "}";

? ? //通過(guò)dopost方法給服務(wù)器發(fā)送請(qǐng)求饼灿,注意這里("application/json")

? ? String result = HttpClientUtil.doPost(url, "application/json", data);

? ? //打印響應(yīng)結(jié)果

? ? System.out.println(result);

? ? //判斷響應(yīng)結(jié)果是否包含

? ? boolean actual = result.contains("\"respCode\":\"0000\"");

? ? //斷言

? ? Assert.assertEquals(actual,true);

? }

```![1539316809.jpg](https://upload-images.jianshu.io/upload_images/13983732-23be14a03d92824a.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![1539335112.jpg](https://upload-images.jianshu.io/upload_images/13983732-6723eedd40cedf98.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

# java

## 類(lèi):java代碼都是以類(lèi)的形式寫(xiě)的

1、每一個(gè)變量前要有類(lèi)來(lái)聲明是什么類(lèi)型以及大小等等旭蠕,使用一個(gè)變量,先聲明類(lèi)恼除,再使用:

```

String url = "http://qa.guoyasoft.com:8080/account/add";

```

* string代表字符串類(lèi)型兢仰;url代表變量名;=為賦值符贩挣,把值賦予給變量名昧碉;“”中的是值

2、類(lèi):

* boolean:布爾類(lèi)型

* string: 字符串類(lèi)型

* int:數(shù)字類(lèi)型

* void:無(wú)返回值類(lèi)型揽惹,為空類(lèi)型

## 權(quán)限

* public:公有權(quán)限

* private:私有權(quán)限

* protect:安全權(quán)限

## 方法名

1被饿、 方法的作用:可以把命令行打包

* 例如:

```

@Test

? public void testAddAccountAll() {

? ? //正常流_添加賬戶_全字段正常

? ? //請(qǐng)求url

? ? String url = "http://qa.guoyasoft.com:8080/account/add";

? ? //請(qǐng)求參數(shù)

? ? String data = "accountName=renlb1211&customerName=任立波";

? ? //使用dopost方法給服務(wù)器發(fā)送請(qǐng)求

? ? String result = HttpClientUtil.doPost(url, "application/x-www-form-urlencoded", data);

? ? //打印響應(yīng)結(jié)果

? ? System.out.println(result);

? ? //判斷響應(yīng)里是否包含? "respCode": "0000"字符串

? ? boolean actual = result.contains("\"respCode\":\"0000\"");

? ? //斷言

? ? Assert.assertEquals(actual, true);

```

* 打包后:

```

<include name="testAddAccountAll" />

2、方法后面都要跟( )搪搏,括號(hào)的作用是用來(lái)接收數(shù)據(jù)

3狭握、 方法命名規(guī)則:第一個(gè)單詞首字母小寫(xiě),后續(xù)單詞的首字母都大寫(xiě):“testAddAccountAll()”

4疯溺、 例子: contains:方法名论颅,用來(lái)判斷否包含哎垦;它是string字符串類(lèi)型的一種方法。例如:

* 根據(jù)之前引用的代碼中恃疯,result是string類(lèi)型

* result.contains("任"):意思是漏设,判斷string類(lèi)型的result中是否包含"任"

5、 Assert是一種類(lèi)今妄,用來(lái)做斷言的

* Assert.assertEquals(A, true):意思是Assert類(lèi)的assertEquals方法是用來(lái)斷言"A"是否是true

## 參數(shù)

1郑口、 位置:方法名(參數(shù))

2、 表示方法用于的類(lèi)型盾鳞、個(gè)數(shù)犬性、位置等

* 例如,dopost方法每一行都有類(lèi)型腾仅、個(gè)數(shù)

![image.png](https://upload-images.jianshu.io/upload_images/13983732-90bbdf86503ccd58.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

## 使用

* 權(quán)限 返回值類(lèi)型 方法名(參數(shù)列表){方法體}

##? 注解和注釋

### 注釋

注釋是給人看乒裆,例如下圖,紅框中都是注釋

![image.png](https://upload-images.jianshu.io/upload_images/13983732-bfcad4d12a4756fc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

### 注解

* 注解是給機(jī)器推励、程序看鹤耍,由testNG管理,例如@Test验辞,意思是說(shuō)明這個(gè)方法是要執(zhí)行的稿黄,如上圖開(kāi)始就有@Test

### testNT.xml

1、 作用:配置方法的執(zhí)行順序

2受神、 前提條件:所有待執(zhí)行的方案都要加上@Test注解

3抛猖、 配置執(zhí)行順序

![執(zhí)行順序.png](https://upload-images.jianshu.io/upload_images/13983732-1503aff41f6a27df.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

4、 執(zhí)行鼻听,選中testNG.xml财著,右鍵選擇run

5、 查看結(jié)果

![查看結(jié)果.png](https://upload-images.jianshu.io/upload_images/13983732-3997ead2a11fb5b2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

6撑碴、 總流程圖

![合并方法作流程測(cè)試1.png](https://upload-images.jianshu.io/upload_images/13983732-c5100acf2ed95137.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![合并方法作流程測(cè)試2.png](https://upload-images.jianshu.io/upload_images/13983732-4bfba4218e815ebc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![合并方法作流程測(cè)試3.png](https://upload-images.jianshu.io/upload_images/13983732-eeefd1af6320954d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![合并方法作流程測(cè)試4.png](https://upload-images.jianshu.io/upload_images/13983732-ed3a1568cce859b8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![合并方法作流程測(cè)試5.png](https://upload-images.jianshu.io/upload_images/13983732-69200da78a6682c1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

# 延伸

* idea連接數(shù)據(jù)庫(kù)

![連接數(shù)據(jù)庫(kù).jpg](https://upload-images.jianshu.io/upload_images/13983732-a3370ff4fd6c4dfc.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![連接數(shù)據(jù)庫(kù)2.jpg](https://upload-images.jianshu.io/upload_images/13983732-19fb0fae0be77909.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

* idea連接服務(wù)器撑教,看日志

![idea鏈接服務(wù)器1.png](https://upload-images.jianshu.io/upload_images/13983732-8c3e0be5ba63e6c1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![idea鏈接服務(wù)器2.png](https://upload-images.jianshu.io/upload_images/13983732-1d06d3d5b574cf43.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市醉拓,隨后出現(xiàn)的幾起案子伟姐,更是在濱河造成了極大的恐慌,老刑警劉巖亿卤,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件愤兵,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡排吴,警方通過(guò)查閱死者的電腦和手機(jī)秆乳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人屹堰,你說(shuō)我怎么就攤上這事肛冶。” “怎么了扯键?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵睦袖,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我荣刑,道長(zhǎng)馅笙,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任嘶摊,我火速辦了婚禮延蟹,結(jié)果婚禮上评矩,老公的妹妹穿的比我還像新娘叶堆。我一直安慰自己,他們只是感情好斥杜,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布虱颗。 她就那樣靜靜地躺著,像睡著了一般蔗喂。 火紅的嫁衣襯著肌膚如雪忘渔。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,185評(píng)論 1 284
  • 那天缰儿,我揣著相機(jī)與錄音畦粮,去河邊找鬼。 笑死乖阵,一個(gè)胖子當(dāng)著我的面吹牛宣赔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播瞪浸,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼儒将,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了对蒲?” 一聲冷哼從身側(cè)響起钩蚊,我...
    開(kāi)封第一講書(shū)人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蹈矮,沒(méi)想到半個(gè)月后砰逻,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡泛鸟,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年蝠咆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谈况。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡勺美,死狀恐怖递胧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情赡茸,我是刑警寧澤缎脾,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站占卧,受9級(jí)特大地震影響遗菠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜华蜒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一辙纬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧叭喜,春花似錦贺拣、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至啥辨,卻和暖如春涡匀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背溉知。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工陨瘩, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人级乍。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓舌劳,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親卡者。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蒿囤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容