Cacuts应用服务端的测试(1)
一、实验目的
1、掌握Cacuts的工作原理
2、掌握Cactus容器内测试
二、实验环境(本实验的硬件和软件环境及使用仪器等)
硬件:PC电脑一台;
配置: window系统,内存大于4G 硬盘250G及以上
软件:eclipse、 jdk15
三、实验实现过程实验内容: 新建Dynamic Web Project 新建服务器运行时的环境 导入Apache所在的目录并安装jre 我的电脑选择了8.5后不会报错 配置Tomcat完成后点击下一步 勾选此勾选项 点击完成后成功创建 创建index.html文件 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> this is index.html </body> </html> 运行服务:在服务器上运行 运行结果截图 创建一个包lab12,并在包里创建一个类LoginServlet package lab12; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class LoginServlet extends HttpServlet { public boolean loginUser(HttpServletRequest request) { String username = request.getParameter("username"); String password = request.getParameter("password"); if (username == null || password == null || !username.equals("AAA") || !password.equals("123")) { return false; } else { return true; } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (loginUser(request)) { // 登录信息成功 request.getRequestDispatcher("welcome.jsp").forward(request, response); } else { // 登录信息失败 request.getRequestDispatcher("login.jsp").forward(request, response); } } } 将现有文件导入webapp文件夹 在lab12包中创建LoginServlet测试用例LoginServletCactusTest package lab12; import java.io.IOException; import javax.servlet.ServletException; import org.apache.cactus.ServletTestCase; import org.apache.cactus.WebRequest; import org.apache.cactus.WebResponse; public class LoginServletCactusTest extends ServletTestCase { LoginServlet loginServlet; public void setUp() { loginServlet = new LoginServlet(); } public void beginLoginUser(WebRequest webRequest) { webRequest.addParameter("username", "AAA"); webRequest.addParameter("password", "123"); }
public void testLoginUser() throws IOException, ServletException { loginServlet.doPost(request, response); }
public void endLoginUser(WebResponse response) { assertTrue(response.getText().indexOf("Welcome! XXX") != -1); } public void beginInLoginUser(WebRequest webRequest) { webRequest.addParameter("username", "guest"); webRequest.addParameter("password", "123456"); }
public void testInLoginUser() throws IOException, ServletException { loginServlet.doPost(request, response); }
public void endInLoginUser(WebResponse response) { // System.out.println(response.getText()); assertTrue(response.getText().indexOf("login") != -1); } } 导入junit3测试库 添加成功 在lib文件夹下导入要用到的jar包 在web.xml中添加配置 <servlet> <servlet-name>ServletTestCase</servlet-name> <servlet-class>org.apache.cactus.ServletTestCase</servlet-class> </servlet> <servlet> <servlet-name>ServletTestRunner</servlet-name> <servlet-class>org.apache.cactus.server.runner.ServletTestRunner</servlet-class> </servlet> <servlet> <servlet-name>ServletRedirector</servlet-name> <servlet-class>org.apache.cactus.server.ServletTestRedirector</servlet-class> </servlet> <servlet-mapping> <servlet-name>ServletTestRunner</servlet-name> <url-pattern>/ServletTestRunner</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>ServletRedirector</servlet-name> <url-pattern>/ServletRedirector</url-pattern> </servlet-mapping> 重启Tomcat服务器,并在浏览器中输入: http://localhost:8080/CactusTest/ServletTestRunner 测试报告: 浏览器中输入: http://localhost:8080/CactusTest/ServletTestRunner?suite=lab12.LoginServletCactusTest&xsl=cactus-report.xsl |
四、实验结果分析与总结我的电脑选择8.0的会报错,选择了8.5就可以正常导入了,查阅资料发现是权限问题,而8.5是我比较久之前下载并使用的,应该已经赋予了权限。 |