51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3764|回复: 7
打印 上一主题 下一主题

[原创] 求助:谁能给我一份有关基于Struts的Web应用测试的用例

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-6-1 13:39:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
急需,谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-6-1 18:01:37 | 只看该作者

你用junit做

你用junit做
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-6-1 18:10:10 | 只看该作者

举个例子

//junit java包
import junit.framework.*;

/**
*
* @草莓junit例子,建立在netbean5.0
*/
//扩展测试用例类
public class MainTest extends TestCase {
   
    public MainTest(String testName) {
        super(testName);
    }
 //初始化


    protected void setUp() throws Exception {
    }

    protected void tearDown() throws Exception {
    }
 //建立测试包
    public static Test suite() {
        TestSuite suite = new TestSuite(MainTest.class);
        
        return suite;
    }

    /**
     * 测试main方法
     */
    public void testMain() {
        System.out.println("main");
        
        String[] args = null;
        
        try{
        Main.main(args);
        }catch(Exception e){
        
        // TODO review the generated test code and remove the default call to fail.
        fail("T测试失败!"+e.toString());
        }
        //good("测试成功!");
    }

    /**
     * 测试函数GetTestStr().
     */
    public void testGetTestStr() {
        System.out.println("正测试getTestStr函数:");
        
        String inputStr = "草莓";
        String expResult = "草莓";
        String result = Main.getTestStr(inputStr);
       try{
  //比较
        assertEquals(expResult, result);
       }
       catch(Exception e){
        fail("测试失败."+e.toString());
       }
      
      
        
        
    }
   
}
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2006-6-3 15:28:19 | 只看该作者

非常谢谢楼上的,又出现问题请教!!!!

楼上的:
你好!非常谢谢你,这种方法能测系统中的JAVABean.现在我要用STRUSTTESTCASE来测试有关STRUTS中的forward、mapping、Action及ACTIONForm.我按着STRUSTTESTCASE网站提供的例子总是实现不了。比如说我有点Loginaction,我测这个LoginAction的类为TestLoginAction.java,然后点运行——运行junit总是提示failure,提示一大堆错但我不明白怎么解决。我的TestLoginAction.java的代码如下,用的是MyEclipse编程环境:
package com.lxh.struts.action;

import servletunit.struts.MockStrutsTestCase;

public class TestLoginAction extends MockStrutsTestCase {

    public TestLoginAction(String testName) {
        super(testName);
    }

    public void setUp() throws Exception {
        super.setUp();
    }

    public void testSuccessfulLogin() {

            setRequestPathInfo("/login");
            System.out.println("hello!");
            addRequestParameter("username","lxh");
            System.out.print("welcome1");
        addRequestParameter("password","123");
        System.out.print("welcome2");
        actionPerform();
       System.out.print("welcome3");
        verifyForward("success");
       assertEquals("lxh",request.getAttribute("username"));
        //verifyForwardPath("/success.jsp");
       // assertEquals("deryl",getSession().getAttribute("authentication"));
        //verifyNoActionErrors();
    }
public static void main(String[] args) {
        junit.textui.TestRunner.run(TestLoginAction.class);
    }

}
点击右键run As——Junit Test,运行结果后:只会输出hello!、welcome1、welcome2
我现在非常急解决这个问题,!请知道者帮帮我,能否尽量详细点说明解决方法,谢谢各位高手了。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2006-6-3 15:45:36 | 只看该作者

点击run as---junit test运行后提示的问题如下

hello!
welcome1welcome22006-6-3 15:36:58 org.apache.struts.util.PropertyMessageResources <init>
信息: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
2006-6-3 15:36:58 org.apache.struts.util.PropertyMessageResources <init>
信息: Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
2006-6-3 15:36:58 org.apache.struts.action.ActionServlet initServlet
严重: null
java.lang.NullPointerException
        at org.apache.crimson.parser.Parser2.parseInternal(Unknown Source)
        at org.apache.crimson.parser.Parser2.parse(Unknown Source)
        at org.apache.crimson.parser.XMLReaderImpl.parse(Unknown Source)
        at org.apache.commons.digester.Digester.parse(Digester.java:1567)
        at org.apache.struts.action.ActionServlet.initServlet(ActionServlet.java:1433)
        at org.apache.struts.action.ActionServlet.init(ActionServlet.java:466)
        at javax.servlet.GenericServlet.init(GenericServlet.java:211)
        at servletunit.struts.MockStrutsTestCase.getActionServlet(MockStrutsTestCase.java:226)
        at servletunit.struts.MockStrutsTestCase.actionPerform(MockStrutsTestCase.java:290)
        at com.lxh.struts.action.TestLoginAction.testSuccessfulLogin(TestLoginAction.java:23)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at junit.framework.TestCase.runTest(TestCase.java:154)
        at junit.framework.TestCase.runBare(TestCase.java:127)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:118)
        at junit.framework.TestSuite.runTest(TestSuite.java:208)
        at junit.framework.TestSuite.run(TestSuite.java:203)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
2006-6-3 15:36:58 servletunit.struts.MockStrutsTestCase getActionServlet
严重: Error initializing action servlet
javax.servlet.ServletException: java.lang.NullPointerException
        at org.apache.struts.action.ActionServlet.initServlet(ActionServlet.java:1441)
        at org.apache.struts.action.ActionServlet.init(ActionServlet.java:466)
        at javax.servlet.GenericServlet.init(GenericServlet.java:211)
        at servletunit.struts.MockStrutsTestCase.getActionServlet(MockStrutsTestCase.java:226)
        at servletunit.struts.MockStrutsTestCase.actionPerform(MockStrutsTestCase.java:290)
        at com.lxh.struts.action.TestLoginAction.testSuccessfulLogin(TestLoginAction.java:23)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at junit.framework.TestCase.runTest(TestCase.java:154)
        at junit.framework.TestCase.runBare(TestCase.java:127)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:118)
        at junit.framework.TestSuite.runTest(TestSuite.java:208)
        at junit.framework.TestSuite.run(TestSuite.java:203)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
2006-6-3 15:36:58 org.apache.struts.util.PropertyMessageResources <init>
信息: Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
2006-6-3 15:36:58 org.apache.struts.action.ActionServlet initServlet
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-6-3 16:59:36 | 只看该作者

你的action没执行

你的action好象没执行,错误显示初始化sevelet,对象没找到,一种是你的字符没传过去,一种是,环境对象没找到,你先检查看看你的lib库是不是所有都在运行的path   h 环境中了。
   你的actionPerform();执行的是哪个action,具体的要模拟环境来看了。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2006-6-4 11:02:51 | 只看该作者

谢楼上,再请教!

你所说的"lib库是不是所有都在运行的path   h 环境中了"的这句话,是不是要在系统的高级环境变量中设置于呢,还是只要在MYeclipse集成环境中添加外部库文件.请问能否具体指点如何设?????!!!
actionPerform()是模型loginAction啊,因为setRequestPathInfo("/login");这条语句也就是说模拟LoginAction的.
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2006-6-5 09:48:36 | 只看该作者

ba

把你需要的.jar类包都加到 myeclipse的path中。看看你是直接用myeclipse运行的吧
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /2 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-7-6 18:22 , Processed in 0.067377 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表