nGrinder中快速编写groovy脚本01-脚本结构

ngrinder中的groovy脚本结构类似 junit,同时在junit的基础之上封装了自己的注解,用来控制脚本的运行。

一、运行逻辑图如下:


webp

此处只列出了groovy脚本的逻辑,jython脚本是类似的,在此不再单独介绍。

二、各注解的使用比较

webp

三、关注点

在ngrinder中,通常使用单进程多线程就足够大部分测试了,所以:

我们最需要关注的就是 @Test ,这个是循环体;

其次是 @Before ,这里设置多个循环体的共享变量;

再其次是 @BeforeThread 和 @AfterThread ,用于设置每个线程执行前后的行为。

四、具体代码结构

@RunWith(GrinderRunner)  // 每个测试类都要加这个注解

class TestRunner {

    @BeforeProcess  // 在每个进程启动前执行

    public static void beforeProcess() {

        // 加载资源文件、初始化 GTest 等

    }

    @BeforeThread  // 在每个线程执行前执行

    public void beforeThread() {

        // 登录、设置 cookie 之类

    }

    @Before  // 在每个 @Test 注解的方法执行前执行

    public void before() {

        // 设置变量、多个 @Test 方法共用的逻辑等

    }

    @Test  // 在测试结束前不断运行。各个 @Test 注解的方法异步执行。

    public void foo() {

        // ...

    }

    @Test

    public void bar() {

        // ...

    }

    @After  // 在每个 @Test 注解的方法执行后执行

    public void after() {

        // 很少用到

    }

    @AfterThread

    public void afterThread() {

        // 登出之类

    }

    @AfterProcess  // 在每个进程结束后执行

    public static void afterProcess() {

        // 关闭资源

    }


相关文章

背景:    8月29日,凌晨4点左右,某服务告警,其中一个...
https://support.smartbear.comeadyapi/docs/soapui/steps/g...
有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能...
Scala和Java为静态语言,Groovy为动态语言Scala:函数式编程,...
出处:https://www.jianshu.com/p/ce6f8a1f66f4一、一些内部...
在运行groovy的junit方法时,报了这个错误:java.lang.Excep...