零基础性能测试实战直播班招生中,多种优惠进行中,优惠无套路,开课你决定       |       python自动化测试班-轻课模式,随到随学

咨询QQ:2083503238、1684129674、480934277(请勿重复咨询) 咨询微信:qiangfans

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

2019-05-07 20:40:00
测试帮日记
原创 1312 投稿得红包

点击链接加入QQ群229390571(免费公开课、视频应有尽有):https://jq.qq.com/?_wv=1027&k=5rbudQa

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

一、运行逻辑图如下:


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

二、各注解的使用比较

三、关注点

在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() {

        // 关闭资源

    }



技术交流QQ群 229390571 测试帮日记接口测试群

电影下载QQ群 533341883 XQ电影下载圈