本人使用的是java的junit框架來組織的自動化測試,故我這邊需要簡單介紹一下junit框架
首先,建議自行百度一下junit框架,先有一個大概的了解
所謂的接口自動化測試,會對多個接口中每一個接口發送各式各樣的請求,其主要的思維是下面的方式

可以想到,我們所要模擬的測試,一般的是一套代碼,部署在本地或者測試服務器上,發送請求到服務器,以上圖所示的各種方式依次請求各個接口,然后再對請求后返回的數值或者其他的進行校驗,達到預期即可認為本次測試通過
那么主流的接口測試的java框架(請原諒筆者技術水平,暫時只會java)就是junit和testng了,testng是junit的升級版,他們有啥好處呢?本文大致說一下junit框架
一般的java代碼是啥樣子呢?有一個mian函數來進行請求,那么上述代碼的話需要3個abc3個包,在a這個文件夾之下還要有3個class來分別作a的參數組1,2,3這三種請求,在每一個請求中如果都使用相同的發送方式的話,那么每一個方法先要聲明一個map,再把不同的參數組傳入該map中,在進行請求並接受數據,然后再進行斷言校驗
junit框架的特點是存在一些特殊的標識,如@Test@After@Before,下面將大概介紹一下~,先在ideal中的原先的shiyan的class中寫下如下代碼
package zlr;
import org.junit.*;
public class shiyan {
int x=0;
static int y=0;
@BeforeClass
public static void setup() throws Exception
{
y++;
}
@Before
public void setup1() throws Exception
{
x=x+1;
}
@After
public void Teardown() throws Exception
{
Assert.assertEquals(x,2);
}
@AfterClass
public static void setup2() throws Exception
{
y++;
}
@Test
public void abc1() throws Exception
{
x++;
System.out.println(x);
System.out.println(y);
}
@Test
public void abc2() throws Exception
{
x++;
System.out.println(x);
System.out.println(y);
}
}
其中可以看到,before,after,test這幾種注釋,junit框架常用的注釋除了這3種還有2種,BeforeClass和AfterClass,大概的執行流程圖如下

junit框架的話沒有main函數,可以包含多個test注釋的代碼,一般的是有一定的初始化在beforeclass中,然后調用before代碼,再調用第一個test代碼,再調用after代碼,然后又是下一次迭代,一次before,下一個test然后又是after代碼,,,再各個test調用結束之后再調用afterclass代碼來最后完結,其他的接口可以放在不同的class中來做,比如a.class,b.class等等
所以在這里對a接口來說,完全可以把參數1,2,3放在不同的test中,然后再把一些初始化工作放在before和beforeclass中,數組整理與一些事后操作放在after和afterclass中這樣便可以運行了
另一方面,在上文中可以看到,代碼中第一個test把x加一了,但是運行起來,從效果來看的話,很不錯,x是相互獨立的這也是與for循環和main函數的最大區別~
ok,本文的目的就是科普junit框架,下一篇,我會講如何自動運行juint框架的代碼
