1. 程式人生 > >java自動化-juint框架簡述

java自動化-juint框架簡述

pri 返回 com 模擬 log .cn main函數 exception ack

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

  技術分享

  可以想到,我們所要模擬的測試,一般的是一套代碼,部署在本地或者測試服務器上,發送請求到服務器,以上圖所示的各種方式依次請求各個接口,然後再對請求後返回的數值或者其他的進行校驗,達到預期即可認為本次測試通過
  那麽主流的接口測試的java框架(請原諒筆者技術水平,暫時只會java)就是juint和testng了,testng是juint的升級版,他們有啥好處呢?本文大致說一下juint框架
  一般的java代碼是啥樣子呢?有一個mian函數來進行請求,那麽上述代碼的話需要3個abc3個包,在a這個文件夾之下還要有3個class來分別作a的參數組1,2,3這三種請求,在每一個請求中如果都使用相同的發送方式的話,那麽每一個方法先要聲明一個map,再把不同的參數組傳入該map中,在進行請求並接受數據,然後再進行斷言校驗
  juint框架的特點是存在一些特殊的標識,如@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這幾種註釋,juint框架常用的註釋除了這3種還有2種,BeforeClass和AfterClass,大概的執行流程圖如下

技術分享

  juint框架的話沒有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,本文的目的就是科普juint框架,下一篇,我會講如果自動運行juint框架的代碼


java自動化-juint框架簡述