HTTPUnit测试:原来的代码是:
WebForm form = response.getForms()[0];
form.setParameter("userName","smile_xunn");
form.setParameter("passWord","*********");//此处需要填写真实密码
request = form.getRequest();
response = browser.getResponse(request);
通不过测试,因为没有跳到前一页。
计划改为
WebForm form = loginPage.getForms()[0];
WebRequest loginRequest = form.getRequest();
loginRequest.setParameter("userName", userName);
loginRequest.setParameter("password", pass);将在1月12号进行验证。
网页的几种编码格式:
"UTF-8",
"GBK",
"ISO-8859-1",
"Unicode",
"UTF-16",
"GB2312",
"UnicodeBig",
"Big5"
关于登陆测试通不过我想是因为他们没有给提交按钮命名。具体来说就是<input type="submit" name="Submit" value="登录">中的name属性没有设置,只剩下了<input type="submit" value="登录"> does not satisfy regularity,今天仔细想了想,觉得太多地方都不是很严格,测试很难通过了。
1月12日
ServletTestCase例子,测试的目标是Servlet或者任何用到Servlet API的java代码。
- Servlets,
- Any java code that uses Servlet API objects
public void beginXXX(WebRequest theRequest)
{
// Set up HTTP related parameters
theRequest.setURL("jakarta.apache.org", "/mywebapp", "/test/test.jsp",
null, null);
theRequest.addCookie("cookiename", "cookievalue");
} public void testXXX()
{
MyServletToTest servlet = new MyServletToTest();
servlet.init(config);// Call method to test
servlet.methodToTest();// Perform some server side asserts
assertEquals("someValue", session.getAttribute("someAttribute"));
assertEquals("jakarta.apache.org", request.getServerName());
}public void endXXX(WebResponse theResponse)
{
// Asserts the returned HTTP responseCookie cookie = theResponse.getCookie("someCookie");
assertEquals("someValue2", cookie.getValue());assertEquals("some content here", theResponse.getText());
}
JspTestCase用来测试普通标记,或者任何用到JSP API的java代码。
FliterTestCase 用来测试Fliter,或者任何用到Fliter API的java代码。public void testXXX() throws ServletException, IOException { SampleFilter filter = new SampleFilter(); config.setInitParameter("header", "<h1>header</h1>"); config.setInitParameter("footer", "<h1>footer</h1>"); filter.init(config); FilterChain mockFilterChain = new FilterChain() { public void doFilter(ServletRequest theRequest, ServletResponse theResponse) throws IOException, ServletException { PrintWriter writer = theResponse.getWriter(); writer.print("<p>some content</p>"); writer.close(); } public void init(FilterConfig theConfig) { } public void destroy() { } }; filter.doFilter(request, response, mockFilterChain); } public void endXXX(WebResponse theResponse) { assertEquals("<h1>header</h1><p>some content</p><h1>footer</h1>", theResponse.getText()); }