테스트 화면코드 값 처리에 대한 질문

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

테스트 화면코드 값 처리에 대한 질문

sunghyun lim
안녕하세요.
점점 더 스크립트 내부로 들어갈수록 더 어렵네요.

질문 사항이 있습니다.

각 페이지 호출은  def 로 별도로 선언되어 있는 경우,
페이지마다 200코드로 회신하지 않을 때, 그 다음 페이지 호출을 하지 않으려 합니다.
이런 때 어떻게 하면 좀 더 우아한 코딩이 될까요?




def loginPage(self):
  result = loginReq.POST(...)
  return result

def mainPage(self):
  result = mainReq.POST(...)
  return result

def secondPage(self):
  result = secondReq.POST(...)
  return result

def __call__(self):
  result = self.loginPage()
  if result.getStatusCode() != 200:
    grinder.statistics.forLastTest.setSuccess(False)
  else:
    grinder.sleep(interval_value)  
    result = self.mainPage()
    if result.getStatusCode() != 200:
      grinder.statistics.forLastTest.setSuccess(False)
    else:
      grinder.sleep(interval_value)
      result = self.secondPage()
      if result.getStatusCode() != 200:
        grinder.statistics.forLastTest.setSuccess(False)

Reply | Threaded
Open this post in threaded view
|

RE: 테스트 화면코드 값 처리에 대한 질문

junoyoon
Administrator

저라면 이렇게 하겠습니다.

 

# -*- coding:utf-8 -*-

 

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

# single page via HTTP. 

#

# This script is auto generated by ngrinder.

#

# @author 윤준호

from net.grinder.script.Grinder import grinder

from net.grinder.script import Test

from net.grinder.plugin.http import HTTPRequest

from net.grinder.plugin.http import HTTPPluginControl

 

 

control = HTTPPluginControl.getConnectionDefaults()

# if you don't want that HTTPRequest follows the redirection, please modify the following option 0.

# control.followRedirects = 1

# if you want to increase the timeout, please modify the following option.

control.timeout = 6000

 

test1 = Test(1, "Test1")

request1 = HTTPRequest()

 

# Make any method call on request1 increase TPS

test1.record(request1)

 

class TestRunner:

# initlialize a thread 

def __init__(self):

grinder.statistics.delayReports=True

self.pages = [ TestRunner.loginPage, TestRunner.mainPage, TestRunner.secondPage]

def loginPage(self):

return request1.GET("http://naver.com")

 

def mainPage(self):

return request1.GET("http://naver.com")

def secondPage(self):

return request1.GET("http://naver.com")

# test method

def __call__(self):

for each in self.pages :

result = each(self)

if result.getStatusCode() != 200 :

grinder.statistics.forLastTest.setSuccess(False) 

return

grinder.statistics.forLastTest.setSuccess(True)

Reply | Threaded
Open this post in threaded view
|

RE: 테스트 화면코드 값 처리에 대한 질문

sunghyun lim
감사합니다.

꼭 필요한 내용들을 잘 알려주셔서 고맙습니다.