`
labile
  • 浏览: 43141 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

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

阅读更多

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

}





 

分享到:
评论

相关推荐

    用BeanShell实现公式管理

    在本文中,我们将探讨如何利用BeanShell创建一个公式管理系统,它允许用户自定义、修改和删除公式,同时提供接口用于计算。 1. **BeanShell简介** BeanShell允许开发者编写Java脚本,并在运行时即时执行,无需编译...

    jmeter-BeanShell简介

    - 在JMeter中,BeanShell组件允许用户在测试计划中嵌入Java代码,处理请求和响应数据,执行条件判断,以及实现更高级别的测试逻辑。 2. **BeanShell元件支持的变量和方法** - **vars**:这是一个变量对象,用于在...

    beanshell java源码解释器

    在实际应用中,Beanshell 可用于自动化任务、单元测试、配置管理、元编程等场景。它的灵活性和易用性使其成为Java开发者的得力工具。例如,你可以在应用启动时用它加载配置文件,或者在运行时根据用户输入动态调整...

    用BeanShell来运行java脚本

    5. **使用BeanShell进行测试**:在软件测试中,BeanShell可以用来编写简单的测试脚本,模拟用户行为,验证应用程序的功能。 6. **结合其他Java工具**:BeanShell可以与Java的各种工具和库无缝集成,如Spring框架、...

    beanshell-2.0b4.src

    在实际应用中,Beanshell 可用于自动化任务、配置管理、系统集成、快速原型开发等多个场景。例如,你可以用它来快速实现一个简单的计算器,编写脚本来处理复杂的数据分析任务,或者在Java应用中添加动态行为。 总之...

    导入poi jar包实现使用Beanshell读写Excel文件

    BeanShell允许我们在测试计划中执行自定义的Java代码。因此,我们可以用BeanShell脚本来调用POI库,实现对Excel文件的操作。 以下是使用BeanShell和POI读取Excel文件的基本步骤: 1. 将Apache POI库添加到JMeter的...

    java的BeanShell公式执行引擎

    BeanShell在Java应用中常被用来进行快速原型开发、测试以及扩展,它提供了一种简单的方式来动态执行Java表达式、语句或者完整的脚本。 BeanShell的核心库包含在`bsh-core-2.0b4.jar`文件中,这是在根目录Bean/bin...

    BeanShell

    BeanShell 的设计目标是提供一个灵活、动态的工具,用于测试、原型设计、脚本以及对Java应用程序进行调试。由于其与Java语言的紧密集成,它可以在运行时动态地创建和修改Java对象,这在很多场景下都非常有用。 ...

    beanshell.jar

    2. 测试与调试:在测试阶段,可以使用 Beanshell 快速编写测试脚本,检查和验证应用的行为。 3. 自定义插件系统:Beanshell 可以作为动态加载插件的框架,用户可以通过编写脚本来扩展应用功能。 4. 配置管理:通过...

    beanshell 源码

    Beanshell 常用于系统管理、自动化测试、数据处理、日志分析等多个领域。其灵活性和与Java生态系统的紧密集成使得它成为开发人员的有力工具。 通过深入研究 Beanshell 的源码,你可以了解其如何解析和执行Java代码...

    BeanShell2.0b5源码

    - **自动化测试:** 在自动化测试框架中,BeanShell 可用于生成和执行测试脚本。 - **配置和脚本化任务:** 在系统管理和运维中,它可以用来处理配置文件,执行定期任务等。 5. **源码学习价值** - **动态语言...

    beanshell所需文件

    这个引擎使得开发者能够在应用程序中动态地引入脚本功能,进行测试、调试或者扩展程序的行为。在Java环境中,Beanshell 提供了一种简单、灵活的方式来实现动态语言的功能。 在 Beanshell 中,`bsh-2.0b4.jar` 是...

    BeanShell帮助文档和jar包

    此外,BeanShell 还常被集成到其他Java应用中,例如服务器端脚本、自动化测试框架(如JMeter)或者作为通用的脚本引擎。 5. **特性**: - 动态性:BeanShell 允许在运行时创建和修改类、方法和变量。 - 自动类型...

    JMeter beanShell修改http请求参数

    在执行测试过程中,为了便于调试,你可以查看JMeter的日志文件,了解BeanShell脚本的执行情况以及`sign`的计算结果。通过这种方式,我们可以灵活地根据实际需求对HTTP请求的参数进行定制处理,确保测试更加贴近真实...

    beanshell 源码 jar doc sound

    5. **类定义和加载**:Beanshell可以动态定义和加载类,这在进行元编程或测试时特别有用。 6. **异常处理**:与Java一样,Beanshell支持try-catch-finally结构来捕获和处理异常。 总之,Beanshell是一个强大的工具...

    BeanShell和Mozilla Rhino详细介绍和例子

    BeanShell允许你在运行时动态地解释和执行Java代码,这对于调试、测试或扩展应用程序非常有用。通过BeanShell,你可以: 1. **嵌入到应用程序中**:在你的Java应用中集成BeanShell,以便在运行时执行Java代码或添加...

    BeanShell快速入门

    请到...但不管怎样,如果你要让BeanShell与你的类与应用程序一起工作就必须将 BeanShell的jar文件加到classpath中。 你可以将BeanShell的jar 文件拖到JAVA_HOME的ext目录也可以直接加到classpath中。

    BeanShell介绍

    2. **测试与调试**:在测试过程中,BeanShell可以用来快速编写测试脚本,检查特定功能的正确性。 3. **系统集成**:在自动化部署、监控和运维场景中,BeanShell可以作为Java环境下的脚本语言,实现自动化任务。 4....

Global site tag (gtag.js) - Google Analytics