快速业务通道

BeanShell在人工测试与管理之中的应用 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-25

BeanShell在人工测试与管理之中的应用

时间:2008-05-07

JUnit 单元测试学深入人心的同时,也发现它对用户交互测试无能为力:

TestCase 允许测试人员作动态的修改

可以在Test Case 中实现一个测试参数输入功能(UI 或参数配置文件)来解决这个问题,但实现这些功能的代价与重复工作量会很大。

TestCase 可以方便地重复使用、组合、保存

不是所有所有测试环境下,都容许打开一个重量级的 Java IDE 编写有严格规范的 Java 代码。这就是脚本语言受欢迎的原因。

BeanShell 可以较好解决以上问题。

1.BeanShell基本:

bsh.Interpreter 是beanShell 的主要接口。

以下可以实现一个简单的Java Shell:

public class TestInt {public static void main(String[] args) {bsh.Interpreter.main(args);}}

结果:

BeanShell 2.0b4 - by Pat Niemeyer (pat@pat.net)

bsh % System.out.println("Hello BeanShell");

Hello BeanShell

bsh %

你也可以用以下代码实现同样的功能,代码中可以比较明显地看出其结构:

public static void main(String[] args) {Reader in = new InputStreamReader( System.in );PrintStream out = System.out;PrintStream err = System.err;boolean interactive = true;;bsh.Interpreter i = new Interpreter( in, out, err, interactive );i.run();//线程在这里阻塞读System.in}

1.1.BeanShell上下文(Context/Namespace):

public static void main(String[] args) throws Throwable {Reader in = new InputStreamReader( System.in );PrintStream out = System.out;PrintStream err = System.err;boolean interactive = true;;bsh.Interpreter i = new Interpreter( in, out, err, interactive );Collection theObjectReadyForShellUser = new ArrayList();theObjectReadyForShellUser.add("Str1");i.set("myObject", theObjectReadyForShellUser);i.run();}

用户的UI:

BeanShell 2.0b4 - by Pat Niemeyer (pat@pat.net)

bsh % System.out.println( myObject.get(0) );

Str1

bsh %

Shell的上下文在测试中特别有用。想一下,如果将上面的“theObjectReadyForShellUser”换成一个预先为测试用户生成的RMI本地接口存根,由测试用户调用相应的存根方法。这可应用于动态测试,也可以应用于系统的远程管理。

1.2.静态Java代码与动态Java代码的组合使用。

public static void main(String[] args) throws Throwable {Reader in = new InputStreamReader( System.in );PrintStream out = System.out;PrintStream err = System.err;boolean interactive = true;;bsh.Interpreter i = new Interpreter( in, out, err, interactive );//show a dialog for user to input command.String command = JOptionPane.showInputDialog( "Input Command(s)" );i.eval( command );//Run the command}

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号