본문 바로가기

Computer Science

[ngrinder] cookie 추가하기

ngrinder로 script작성 시, 참고할 reference가 없었다.


사용되는 Class들의 spec은 http://grinder.sourceforge.net/g3/script-javadoc/HTTPClient/Cookie.html 에서 확인. 





import static net.grinder.script.Grinder.grinder

import static org.junit.Assert.*

import static org.hamcrest.Matchers.*

import net.grinder.plugin.http.HTTPRequest

import net.grinder.plugin.http.HTTPPluginControl

import net.grinder.script.GTest

import net.grinder.script.Grinder

import net.grinder.scriptengine.groovy.junit.GrinderRunner

import net.grinder.scriptengine.groovy.junit.annotation.BeforeProcess

import net.grinder.scriptengine.groovy.junit.annotation.BeforeThread

// import static net.grinder.util.GrinderUtils.* // You can use this if you're using nGrinder after 3.2.3

import org.junit.Before

import org.junit.BeforeClass

import org.junit.Test

import org.junit.runner.RunWith


import java.util.Date

import java.util.List

import java.util.ArrayList


import HTTPClient.Cookie

import HTTPClient.CookieModule

import HTTPClient.HTTPResponse

import HTTPClient.NVPair


/**

 * A simple example using the HTTP plugin that shows the retrieval of a

 * single page via HTTP. 

 * 

 * This script is automatically generated by ngrinder.

 * 

 * @author admin

 */

@RunWith(GrinderRunner)

class TestRunner {


public static GTest test

public static HTTPRequest request

public static NVPair[] headers = []

public static NVPair[] params = []

public static Cookie[] cookies = []

public static Date expiryDate 

public static Cookie cookie

@BeforeProcess

public static void beforeProcess() {

HTTPPluginControl.getConnectionDefaults().timeout = 6000

test = new GTest(1, "de-pf01.fttinc.kr")

request = new HTTPRequest()

grinder.logger.info("before process.");

}


@BeforeThread 

public void beforeThread() {

test.record(this, "test")

grinder.statistics.delayReports=true;

grinder.logger.info("before thread.");

}

@Before

public void before() {

request.setHeaders(headers)

expiryDate = new Date()

cookie = new Cookie("simple-board-auth", "JpxvJShHZhkMTZejmcITkFjZwjuYuTgVa61ed9a1fcfd86cd2a74c0e5dd8671d7","10.11.10.52", "/simple-board", expiryDate, false)

Object threadContext = HTTPPluginControl.getThreadHTTPClientContext() 

CookieModule.addCookie(cookie ,threadContext) 

cookies.each { CookieModule.addCookie(it, HTTPPluginControl.getThreadHTTPClientContext()) }

grinder.logger.info("before thread. init headers and cookies");

}


@Test

public void test(){

HTTPResponse result = request.GET("http://de-pf01.fttinc.kr:14088/simple-board/page/board?boardId=1", params)


if (result.statusCode == 301 || result.statusCode == 302) {

grinder.logger.warn("Warning. The response may not be correct. The response code was {}.", result.statusCode); 

} else {

assertThat(result.statusCode, is(200));

}

}

}



'Computer Science' 카테고리의 다른 글

Virtualbox Centos7 Static IP  (0) 2016.07.23
도움되는 기사들  (0) 2016.06.09
[Git] 이미 존재하는 프로젝트 Github에 올리기  (0) 2015.06.06
user diagram  (0) 2013.11.02