2012-11-02 11 views
0

JMeter에서 이상한 점이 있습니다.
어떤 종류의 웹 응용 프로그램도 문제없이 녹화했습니다. 테스트 재생 중에 문제가 나타납니다. 어떤 이유로 재생 중일 때와 녹음 중일 때 다른 결과가 나타납니다.테스트 재생 중 JMeter 결과가 다릅니다.

녹음 및 재생 중에 요청한 HTTP 요청을 비교할 때 이전 요청에서 추출하여 매개 변수로 전달하는 일부 보안 토큰을 제외하고는 한 가지 차이점이 표시되지 않습니다. 녹음 중에 더 정확하게하려면 큰 몸체 (> 5kB)로 응답을 수신하고 재생 중에 응답 본문이 비어 있습니다. 응답 코드는 200 (OK)입니다. 이 몸체에는 데이터베이스의 중요한 데이터가 포함되어 있으므로이 JMeter 스크립트로 측정 한 결과가 실제 애플리케이션 동작을 반영하지 않을 것이므로 단순히 내가 필요한 것을 측정하지 않을 것입니다. 이제

내 질문 :

  1. 이 좀 더 효율적으로 HTTP 요청과 응답의 내용을 볼 수있는 플러그인 도구 또는 JMeter를? 녹음 및 재생 중에 요청한 내용을 비교할 수 있다면 좋을 것입니다. 지금까지 두 명의 청취자, 즉 "결과 트리보기"를 사용했습니다. 나는 녹음과 재생의 요청을 비교하기 위해 그들 사이에 끼워 넣었다.
  2. JMeter의 알려진 버그로 인해 차이점을 설명 할 수 있습니까? 예를 들어 레코딩 프로세스와 관련이 있습니까? 헤더 또는 매개 변수 내가 다른 세션에서 동일한 테스트 케이스의 4 녹음을 만들어 그들을 비교 일정 확실하게 :

    POST http://10.133.27.81:8080/c/portal/render_portlet 
    
    POST data: 
    p_l_id=69210&p_p_id=blank_WAR_Blank_INSTANCE_iNM3&p_p_action=0&p_p_state=normal&p_p_mode=view&p_p_col_id=column-2&p_p_col_pos=1&p_p_col_count=2 
    
    [no cookies] 
    
    Request Headers: 
    Connection: keep-alive 
    Content-Type: application/x-www-form-urlencoded 
    Accept-Language: pl 
    Accept: */* 
    User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) 
    csrf_token: 1GXK-0QD7-GFPJ-JLDG-JP2G-J390-BFLG-7LL7 
    Pragma: no-cache 
    Method: POST /c/portal/render_portlet HTTP/1.1 
    X-Requested-With: OWASP CSRFGuard Project 
    Referer: http://10.133.27.81:8080/group/bou 
    Accept-Encoding: gzip, deflate 
    Content-Length: 143 
    Host: 10.133.27.81:8080 
    

    업데이트가 : 여기

요청의 예입니다 그래서 나는 csrf_token 필드가 다른 요청에서 가져온 값이어야한다는 것을 확신합니다. 이 값이 제대로 반입되는지 확인하기 위해 디버그 샘플러를 추가했습니다.


업데이트 2 : 문제 발견했다. 이
두 가지 문제 : 당신은 검색합니다 (Ctrl-F)를 수행 할 때

  1. 는 JMeter가 버그가이 HTTP Header Menager의를 제외하고 전체 프로젝트를 검색하고 내 요청 헤더의 내부 csrf_token을 포함 (나는 것을 발견 이 질문을 게시하기 전에). 텍스트 편집기를 사용하여 xml에서 검색하는 것은 좋은 해결 방법이었습니다.
  2. 내가 문제 번호 1을 발견하기 전에 문제의 원인을 찾으려고 할 때 HTTP Cookie Manager을 제거하여 새로운 문제를 추가했습니다 (저는 자신과 IE를 비난하고 있습니다).

일반적으로 HttpFox 추가 기능으로 Internet Explorer를 FireFox로 변경하면 문제를 발견하는 데 도움이됩니다.

모두에게 감사드립니다.

마렉

+0

야간 빌드에서 검색 기능의 버그가 수정되었습니다. 야간 빌드를 얻으려면 https://issues.apache.org/bugzilla/show_bug.cgi?id=54129를 참조하십시오. http://jmeter.apache.org /nightly.html –

답변

0

문제는 계산하지 않은 누락 된 동적 요청 매개 변수에서 확실히 온다.

예를 들어 csrf_token 헤더를 찾습니다. 변수를 변경 했습니까? 또는 초기 기록 된 valur를 전송하지만 일부 해시 데이터 또는 페이지 또는 요청에 존재하지 않는 일부 내용을 참조하는 숫자 데이터가 포함 된 매개 변수에서도 전송합니다.

예를 들어 col pos 나는 p_p_col_id와 관련 매개 변수를 보았습니다. 재생할 때 무엇인가를 참조했는지 확인하십시오.

이 경우 JMeter 버그의 가능성은 거의 없습니다.

+0

예 나는 그것을 진실되게 만들었으며, 나는 더 명확하게하기 위해 문제의 업데이트를 만들었습니다. –

+0

피드백을 보내 주셔서 감사합니다. 문제를 발견했습니다. –

+0

문제점은 무엇입니까? –

1

응답 코드 200은 모든 것이 응용 프로그램 수준에서 잘 처리되었음을 의미하지는 않습니다.

자세한 내용은 Debug samplerDebug PostProcessor을 사용할 수 있습니다.
here.

+0

'debug sampler'를 사용했는데'Debug Post Processor'를 시도 할 것입니다, 문제의 원인을 찾는 데 도움이되기를 바랍니다. –

+0

의견을 보내 주셔서 감사합니다. 문제를 발견했습니다. –

관련 문제