HttpUnit入門的簡單例子 .

  1. package com.amway.test;  
  2. import java.io.IOException;  
  3. import org.xml.sax.SAXException;  
  4. import com.meterware.httpunit.GetMethodWebRequest;  
  5. import com.meterware.httpunit.PostMethodWebRequest;  
  6. import com.meterware.httpunit.TableCell;  
  7. import com.meterware.httpunit.WebConversation;  
  8. import com.meterware.httpunit.WebForm;  
  9. import com.meterware.httpunit.WebLink;  
  10. import com.meterware.httpunit.WebRequest;  
  11. import com.meterware.httpunit.WebResponse;  
  12. import com.meterware.httpunit.WebTable;  
  13. import junit.framework.TestCase;  
  14. public class WebExistTest extends TestCase{  
  15.       
  16.     //測試頁面是否存在1   
  17.     public void testWebExists(){  
  18.         //模擬瀏覽器對象,擁有一個瀏覽器   
  19.         WebConversation webConversation = new WebConversation();  
  20.         try {  
  21.             webConversation.getResponse("http://localhost:8080/Httpunit/");  
  22.         } catch (IOException e) {  
  23.             e.printStackTrace();  
  24.         } catch (SAXException e) {  
  25.             e.printStackTrace();  
  26.         }  
  27.     }  
  28.     //測試頁面是否存在2   
  29.     public void testWebExists2(){  
  30.         //模擬瀏覽器對象,擁有一個瀏覽器   
  31.         WebConversation webConversation = new WebConversation();  
  32.         //用get方法得到 一個請求對象   
  33.         WebRequest request = new GetMethodWebRequest("http://localhost:8080/Httpunit/");  
  34.         try {  
  35.             webConversation.getResponse(request);  
  36.         } catch (IOException e) {  
  37.             e.printStackTrace();  
  38.         } catch (SAXException e) {  
  39.             e.printStackTrace();  
  40.         }  
  41.     }  
  42.     //測試獲取頁面的內容 (源代碼)   
  43.     public void testWebContenct(){  
  44.         WebConversation webConversation = new WebConversation();  
  45.         try {  
  46.             WebResponse response = webConversation.getResponse("http://localhost:8080/Httpunit/");  
  47.             System.out.println(response.getText());  
  48.         } catch (IOException e) {  
  49.             e.printStackTrace();  
  50.         } catch (SAXException e) {  
  51.             e.printStackTrace();  
  52.         }  
  53.     }  
  54.     //測試獲取頁面內容,並傳遞參數(get方式)   
  55.     public void testWebContenctWithParameterGet(){  
  56.         WebConversation webConversation = new WebConversation();  
  57.         WebRequest request = new GetMethodWebRequest("http://localhost:8080/Httpunit/");  
  58.         request.setParameter("username""xaiobai");  
  59.         try {  
  60.             WebResponse response = webConversation.getResponse(request);  
  61.             System.out.println(response.getText());  
  62.         } catch (IOException e) {  
  63.             e.printStackTrace();  
  64.         } catch (SAXException e) {  
  65.             e.printStackTrace();  
  66.         }  
  67.     }  
  68.     //測試獲取頁面的內容,並傳遞參數(post方式 )   
  69.     public void testWebContenctWithParameterPost(){  
  70.         WebConversation webConversation = new WebConversation();  
  71.         WebRequest request = new PostMethodWebRequest("http://localhost:8080/Httpunit/doForm.jsp");  
  72.         request.setParameter("username""xaiobai");  
  73.         try {  
  74.             WebResponse response = webConversation.getResponse(request);  
  75.             System.out.println(response.getText());  
  76.         } catch (IOException e) {  
  77.             e.printStackTrace();  
  78.         } catch (SAXException e) {  
  79.             e.printStackTrace();  
  80.         }  
  81.     }  
  82.     //測試頁面成功跳轉   
  83.     public void testWebPageRedirectSuccess(){  
  84.         WebConversation webConversation = new WebConversation();  
  85.         WebRequest request = new PostMethodWebRequest("http://localhost:8080/Httpunit/validate.jsp");  
  86.         request.setParameter("username""xiaobai");  
  87.         request.setParameter("password""123");  
  88.         try {  
  89.             WebResponse response = webConversation.getResponse(request);  
  90.             String expectedUrl = "http://localhost:8080/Httpunit/success.jsp";  
  91.             this.assertEquals("驗證失敗",expectedUrl ,response.getURL().toString());  
  92.         } catch (IOException e) {  
  93.             e.printStackTrace();  
  94.         } catch (SAXException e) {  
  95.             e.printStackTrace();  
  96.         }  
  97.     }  
  98.     //測試頁面失敗跳轉   
  99.     public void testWebPageRedirectFailed(){  
  100.         WebConversation webConversation = new WebConversation();  
  101.         WebRequest request = new PostMethodWebRequest("http://localhost:8080/Httpunit/validate.jsp");  
  102.         request.setParameter("username""xiaobai");  
  103.         request.setParameter("password""123111");  
  104.         try {  
  105.             WebResponse response = webConversation.getResponse(request);  
  106.             String expectedUrl = "http://localhost:8080/Httpunit/failed.jsp";  
  107.             this.assertEquals("驗證失敗",expectedUrl ,response.getURL().toString());  
  108.         } catch (IOException e) {  
  109.             e.printStackTrace();  
  110.         } catch (SAXException e) {  
  111.             e.printStackTrace();  
  112.         }  
  113.     }  
  114.       
  115.     //測試網頁表格    
  116.     public void testWebTable(){  
  117.         WebConversation webConversation = new WebConversation();  
  118.         WebRequest request = new GetMethodWebRequest("http://localhost:8080/Httpunit/tableTest.jsp");  
  119.         try{  
  120.             WebResponse response = webConversation.getResponse(request);  
  121.             //獲取外層表格的第一個   
  122.             WebTable table = response.getTables()[0];  
  123.             this.assertEquals(2, table.getColumnCount());  
  124.             //行由0開始   
  125.             TableCell cell= table.getTableCell(20);  
  126.             this.assertEquals("版次", cell.getText());  
  127.             //this.assertEquals("", table.g)  
  128.         }catch(Exception e) {  
  129.             e.printStackTrace();  
  130.         }  
  131.     }  
  132.     //測試網絡中的連接   
  133.     public void testWebClickPage(){  
  134.         WebConversation webConversation = new WebConversation();  
  135.         WebRequest request = new GetMethodWebRequest("http://localhost:8080/Httpunit/");  
  136.         try {  
  137.             WebResponse response = webConversation.getResponse(request);  
  138.             System.out.println(response.getText());  
  139.             WebLink link = response.getLinkWith("HttpUnit ABC");  
  140.             request = link.getRequest();  
  141.             String expetedURL = request.getURL().toString();  
  142.             this.assertEquals(expetedURL, "http://localhost:8080/Httpunit/tableTest.jsp");  
  143.         } catch (IOException e) {  
  144.             e.printStackTrace();  
  145.         } catch (SAXException e) {  
  146.             e.printStackTrace();  
  147.         }  
  148.     }  
  149.     //測試網絡中的form   
  150.     public void testWebForm(){  
  151.         WebConversation webConversation = new WebConversation();  
  152.         WebRequest request = new GetMethodWebRequest("http://localhost:8080/Httpunit/formTest.jsp");  
  153.         try {  
  154.             WebResponse response = webConversation.getResponse(request);  
  155.             System.out.println(response.getText());  
  156.             WebForm form = response.getForms()[0];  
  157.             String name = form.getParameterValue("Name");  
  158.             String food = form.getParameterValue("Food");  
  159.             String location = form.getParameterValue("Location");  
  160.             String CreditCard = form.getParameterValue("CreditCard");  
  161.             this.assertEquals("La Cerentolia", name);  
  162.             this.assertEquals("Chinese", food);  
  163.             this.assertEquals("CenterCity", location);  
  164.             this.assertEquals("on", CreditCard);  
  165.         } catch (IOException e) {  
  166.             e.printStackTrace();  
  167.         } catch (SAXException e) {  
  168.             e.printStackTrace();  
  169.         }  
  170.     }  
  171.     //測試表單提交   
  172.     public void testFormSubmit(){  
  173.         WebConversation webConversation = new WebConversation();  
  174.         WebRequest request = new GetMethodWebRequest("http://localhost:8080/Httpunit/formTest.jsp");  
  175.         try {  
  176.             WebResponse response = webConversation.getResponse(request);  
  177.             System.out.println(response.getText());  
  178.             WebForm form = response.getForms()[0];  
  179.               
  180.             form.setParameter("Name""xiaobai");  
  181.             form.setParameter("Food""Italian");  
  182.             form.setParameter("Location""MiddleCity");  
  183.             form.setParameter("CreditCard""on");  
  184.             //獲取提交的url   
  185.             response = form.submit();  
  186.               
  187.             String expetedURL = response.getURL().toString();  
  188.             this.assertEquals("http://localhost:8080/Httpunit/doForm.jsp", expetedURL);  
  189.         } catch (IOException e) {  
  190.             e.printStackTrace();  
  191.         } catch (SAXException e) {  
  192.             e.printStackTrace();  
  193.         }  
  194.     }  
  195. }  
發佈了16 篇原創文章 · 獲贊 12 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章