ngrinder中的groovy脚本结构相似 junit,同时在junit的基础之上封装了本身的注解,用来控制脚本的运行。web
1、运行逻辑图以下:cookie
此处只列出了groovy脚本的逻辑,jython脚本是相似的,在此再也不单独介绍。多线程
2、各注解的使用比较app
3、关注点异步
在ngrinder中,一般使用单进程多线程就足够大部分测试了,因此:ide
咱们最须要关注的就是 @Test ,这个是循环体;测试
其次是 @Before ,这里设置多个循环体的共享变量;spa
再其次是 @BeforeThread 和 @AfterThread ,用于设置每一个线程执行先后的行为。线程
4、具体代码结构orm
@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() {
// 关闭资源
}