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

在前面的文章中,咱们已经知道,nGrinder支持groovy和Jython脚本,今天学习一下ngrinder中的groovy脚本结构。

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

1、运行逻辑图以下:

clipboard.png

2、各注解的使用比较

注解 描述 应用范围 用例
@BeforeProcess 定义在进程被调用以前应执行的行为 static method 加载被线程共享的资源文件,定义 GTest 等
@AfterProcess 定义在进程被终止以前应执行的行为 static method 关闭资源文件
@BeforeThread 定义在每一个线程被调用以前应执行的行为 member method 登陆目标系统,创建线程内的一些值,例如,Cookie 处理
@AfterThread 定义在每一个线程被终止以前应执行的行为 member method 退出系统
@Before 定义每一个被 @Test 注解的方法被执行前应执行的行为 member method 每一个被 @Test 注解的方法的共享逻辑、变量设置
@After 定义每一个被 @Test 注解的方法被执行后应执行的行为 member method 不多使用
@Test 定义测试行为,被执行屡次 member method 测试体

3、关注点

在ngrinder中,一般使用单进程多线程就足够大部分测试了,因此:cookie

  • 咱们最须要关注的就是 @Test ,这个是循环体;
  • 其次是 @Before ,这里设置多个循环体的共享变量;
  • 再其次是 @BeforeThread@AfterThread ,用于设置每一个线程执行先后的行为。

4、具体代码结构

@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() {
        // 关闭资源
    }
相关文章
相关标签/搜索