您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > HttpUnit
HttpUnit-測試用例
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/3/13 15:38:46 ] 推薦標(biāo)簽:

  (1)環(huán)境設(shè)置:導(dǎo)入HttpUnit

  (2)開始實踐,寫一個測試接口,起名為LoginTestInf:

請/*
 * Created on 2004-12-17
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package org.apollo.test.util;

/**
 * @author SixSun
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */

/**
 *測試用例編號 : 0001
 *測試用例名稱 : HttpUnit 登陸驗證測試用例
 *測試目標(biāo) : 驗證用戶登陸是否成功
 *測試過程 :
 *1、輸入登陸地址的頁面地址,驗證該頁面是否可被正常訪問。
 *2、驗證被訪問的頁面是否是登陸頁面。
 *3、輸入非法用戶名、密碼,驗證登陸失敗。
 *4、輸入合法用戶名、密碼,驗證登陸成功。
 */    
public interface LoginTestInf {
    public void testValidPage() throws Exception;
    public void testIsLoginPage() throws Exception;
    public void testBadLogin() throws Exception;
    public void testGoodLogin() throws Exception;
}


  (3)實現(xiàn)一個Junit TestCase 同時 implements LoginTestInf 接口:

/*
 * Created on 2004-12-17
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package org.apollo.test.util;

import java.net.URL;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import junit.textui.TestRunner;
 
import com.meterware.httpunit.WebConversation;
import com.meterware.httpunit.WebRequest;
import com.meterware.httpunit.WebResponse;
import com.meterware.httpunit.WebForm;
import com.meterware.httpunit.GetMethodWebRequest;

import org.apollo.test.util.LoginTestInf;

/**
 * @author sixsun
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class LoginTest extends TestCase implements LoginTestInf {

 private String username = "suibian";
 private String password = "suibian";
 
    private WebConversation browser;
    private WebRequest requestIndex;
    private WebRequest requestLogin;
    private WebResponse responseIndex;
    private WebResponse responseLogin;
    private String urlSystem = "系統(tǒng)首頁網(wǎng)址";
    private String urlLogin = "登陸界面網(wǎng)址";
 /*
  * @see TestCase#setUp()
  */
 protected void setUp() throws Exception {
        browser =  new WebConversation();
        requestIndex = new GetMethodWebRequest(urlSystem);
        responseIndex  = browser.getResponse(requestIndex);
        requestLogin = new GetMethodWebRequest(urlLogin);
        responseLogin  = browser.getResponse(requestLogin);     
 }
 
    //輸入登陸地址的頁面地址,驗證該頁面是否可被正常訪問
    public void testValidPage() throws Exception{
           assertNotNull("zsonline在網(wǎng)絡(luò)上不存在!",responseIndex);
    }
 
    //驗證被訪問的頁面是否是登陸頁面
    public void testIsLoginPage() throws Exception{
           URL currentUrl = responseLogin.getURL();
           String currentUrlStr = currentUrl.getProtocol() + "://" +currentUrl.getHost() + currentUrl.getPath();
           assertEquals("登陸頁面不是zsonline首頁!" ,currentUrlStr,urlLogin);
    }
 
    //輸入非法用戶名、密碼,驗證登陸失敗
    public void testBadLogin() throws Exception{
          WebForm form = responseLogin.getForms()[0];
          form.setParameter("username","badname");
          form.setParameter("password","badpassword");
          requestLogin = form.getRequest();
          responseLogin =  browser.getResponse(requestLogin);
          assertTrue("用戶名不存在,請確認(rèn)用戶名輸入是否完全正確(區(qū)分大小寫)!",
                  responseLogin.getText().indexOf("用戶名不存在,請確認(rèn)用戶名輸入是否完全正確(區(qū)分大小寫)!") != -1);
    }
 
   //輸入合法用戶名、密碼,驗證登陸成功
    public void testGoodLogin() throws Exception{
          WebForm form = responseLogin.getForms()[0];
          form.setParameter("username",username);
          form.setParameter("password",password);//此處需要填寫真實密碼
          requestLogin = form.getRequest();
          responseLogin =  browser.getResponse(requestLogin);
          assertTrue("轉(zhuǎn)到'zsonline'【suibian】用戶首頁失敗!",responseLogin.getText().indexOf("用戶測試用戶_zsonline,您好!") != -1);   
    }
 
    public static TestSuite suite(){
        return new TestSuite(LoginTest.class);
      }
      public static void main(String args[]){
        TestRunner.run(suite());
      }
}

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd