当前位置:编程学习 > html/css >>

教大家用HtmlUnit实现程序模拟页面表单提交

有时候大家做测试的时候需要验证web后台压力,如果让测试人员去不断的填写提交表单的话可能会让人吃不消,利用程序则可以很好的解决这一问题。

 

比如有一个web工程,其主页index.jsp:

[html] 
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
  <head> 
    <base href="<%=basePath%>"> 
     
    <title>My JSP 'index.jsp' starting page</title> 
    <meta http-equiv="pragma" content="no-cache"> 
    <meta http-equiv="cache-control" content="no-cache"> 
    <meta http-equiv="expires" content="0">     
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
    <meta http-equiv="description" content="This is my page"> 
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    --> 
  </head> 
   
  <body> 
    <form action="<%=path %>/LoginServ" method="post" name="loginForm" id="loginForm"> 
         <table width="250" border="0"> 
           <tr> 
             <td>账号:</td><td><input type="text" name="username" id="username"/></td> 
           </tr> 
           <tr> 
             <td>密码:</td><td><input type="password" name="pass" id="pass"/></td> 
           </tr> 
           <tr> 
             <td colspan=2><input type="submit" value="登陆" name="testlogin"/></td> 
           </tr> 
         </table> 
    </form> 
  </body> 
</html> 

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'index.jsp' starting page</title>
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">   
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">
 <!--
 <link rel="stylesheet" type="text/css" href="styles.css">
 -->
  </head>
 
  <body>
    <form action="<%=path %>/LoginServ" method="post" name="loginForm" id="loginForm">
         <table width="250" border="0">
           <tr>
             <td>账号:</td><td><input type="text" name="username" id="username"/></td>
           </tr>
           <tr>
             <td>密码:</td><td><input type="password" name="pass" id="pass"/></td>
           </tr>
           <tr>
             <td colspan=2><input type="submit" value="登陆" name="testlogin"/></td>
           </tr>
         </table>
    </form>
  </body>
</html>

其后台servlet为:

[java] 
package com.test; 
 
import java.io.IOException; 
import java.io.PrintWriter; 
 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
 
public class LoginServ extends HttpServlet { 
 
    /**
     * Constructor of the object.
     */ 
    public LoginServ() { 
        super(); 
    } 
 
    /**
     * Destruction of the servlet. <br>
     */ 
    public void destroy() { 
        super.destroy(); // Just puts "destroy" string in log  
        // Put your code here  
    } 
 
    /**
     * The doGet method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to get.
     * 
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @thr

补充:web前端 , HTML/CSS  ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,