![代碼測(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)