스크립트와 에러 검출 관련해서 질문이 있습니다.

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

스크립트와 에러 검출 관련해서 질문이 있습니다.

YJ.KIM
안녕하세요.

스크립트를 이용해서 URL에서 버그 체크를 한 후에 문제가 있을시 nGrinder 자체에 에러 갯수를 늘려주는 방법이 혹시 있을까요?
바꿔 말하면, Executed Tests가 50일 때 그 중 5번의 test에서 test는 끝까지 완료했지만, 도중에 버그를 발견한 경우에는 이를 Successful Tests에 포함하는 것이 아니라 Errors에 포함하는 방법이 있는지 궁금합니다.
스크립트에서 보면 아래와 같은 부분이 Success인지 Error인지 판단하는 부분 같은데요.

if result.getStatusCode() == 200 :
        grinder.statistics.forLastTest.success = 1
elif result.getStatusCode() in (301, 302) :
        grinder.logger.warn("Warning. The response may not be correct. The response code was %d." %  result.getStatusCode())
        grinder.statistics.forLastTest.success = 1
else :
        grinder.statistics.forLastTest.success = 0

가장 아래에 있는 'grinder.statistics.forLastTest.success = 0' 이 부분이 Error 수를 늘려주는 부분이라고 생각해서, 버그가 발견될 시에 저 명령어를 넣어보았지만, 버그 상황에서도 Error의 수가 늘어나지 않았습니다.
혹시나 해서 'request1.GET("", [], headers)' 와 같은 식으로 없는 URL에 request를 보내면 에러가 되면서 체크를 하지 않을까 했는데, 이 방법도 로그에 exception은 발생하지만 Error 수를 늘리지는 못했습니다.

nGrinder가 각 test별로 Success인지 Error인지 판단하는 과정과 이를 강제적으로 바꿔줄 수 있는 명령어가 혹시 있다면 알고 싶습니다.

매번 많은 도움 받습니다.
감사합니다.

(ngrinder 버전은 3.2.3입니다)
Reply | Threaded
Open this post in threaded view
|

Re: 스크립트와 에러 검출 관련해서 질문이 있습니다.

junoyoon
Administrator
말씀 하신것을 가지고 유추해 보건데...

__call__ 메소드내에서..
request.GET(...) 같은 것을 여러번 실행시켜 주신것 같습니다.

다수개의 호출을 하나의 테스트로 보고 싶을때는... request 가 아닌 다른 메소드를 레코드해주면 됩니다.
예를 들어..

class TestRunner :
    def __init__(self)
        ....
    def __call__(self)
        result = self.call_test_method();
        if result == False :
             grinder.statistics.forLastTest.success = 0

    def call_test_method(self) :
        request1.GET(...)
        request1.GET(...)
        return True or False depending on the result..

# 다음과 같이 request 가 아닌 call_test_method 를 transaction 단위로 보시는 겁니다.
Test(1, "Test").record(TestRunner.call_test_method)


실제 테스트는 call_test_method 에서 실행해 두시고.. 이 결과를 가지고 Pass / Fail 을 결정하시면 됩니다.

유사 샘플로는 http://grinder.sourceforge.net/g3/script-gallery.html#scenario.py 를 참고하실 수 있겠습니다.
Reply | Threaded
Open this post in threaded view
|

Re: 스크립트와 에러 검출 관련해서 질문이 있습니다.

YJ.KIM
안녕하세요.

검사하는 함수에서 return값을 넘겨주고 그 return에 따라 success 여부를 판단하는 것으로 수정하여 해결되었습니다.
도움 감사드립니다!