2011-08-17 6 views
4

JMeter 테스트에서 자주 발생하는 문제입니다.JMeter에서 HTTP Referer 헤더를 동적으로 설정하는 방법은 무엇입니까?

JMeter를 통해 프록시 서버를 설정하여 개발 환경에 테스트 사례를 '기록'합니다. 그게 잘 작동하고 일부 'HTTP 요청 기본값'기본 '서버 이름 또는 IP'및 '프로토콜'전역 설정할 수 있습니다.

DEV에서 테스트가 완료되었으므로 테스트를 위해 QA 서버로 코드를 이동했습니다. 기본값으로 '서버 이름'을 변경 한 다음 테스트를 실행하면됩니다. 등의 사용자 에이전트, 캐시 제어의 처럼 - 내가 발견

것은 내 테스트 케이스의 각 샘플러를 들어, 다른 헤더는 특정 샘플러에 대한 'HTTP 헤더 관리자'에 존재한다는 것입니다 Referer 헤더는 DEV 서버가되도록 여전히 '하드 코딩'되어 있기 때문에 걱정스러운 유일한 것입니다.

이 환경을 여러 환경에서 실행할 수 있도록 동적으로 설정하는 방법이 있습니까? 어떻게 정상적으로 처리됩니까?

도움을 주시면 감사하겠습니다. 감사. 테스트 계획

  • 의 루트에 server 이름

    JG

  • 답변

    1

    Jmeter는 HTTP 요청에 값이 제공되지 않는 경우에만 HTTP 요청 기본값을 읽습니다. 요청에서 도메인을 비워두면 요청에서 읽습니다. 그렇지 않으면 로컬 값을 사용합니다.

    빠른 수정으로 텍스트 편집기에서 JMX 파일을 열고 도메인의 모든 인스턴스를 공백 값으로 바꿉니다. Jmeter에서 파일을 다시 열면 HTTP 요청 기본 구성 요소에 도메인 값을 다시 추가하십시오.

    나중에이를 피하려면 기록하기 전에 기본값 요청을 작성하십시오. Jmeter는 기본값과 일치하는 값을 자동으로 걸러냅니다.

    또한 변수 및 user defined values을 사용하여이 작업을 수행 할 수 있습니다. 설정 한 기본값을 신중히 선택하십시오. 예를 들어 customerID = 123이라고 말하면 Jmeter는 녹음하는 동안 '123'을 감지하면 언제든지 ${customerID}으로 바꿉니다.값 '12345'이 경우에 따라서, JMeter를이 ${customerID}45

    +0

    아, 좋아하는 데 도움이됩니다. 따라서 빠른 수정은 JMX에서 검색/바꾸기입니다. 큰. 하지만, 테스트 케이스에서 내가 http://www.domain1.com/mypath?myvariable=myvalue의 리퍼러 값을 갖고 있다고 가정하면 어떻게 기본값을 http://www.domain2.com/mypath?myvariable로 설정할 수 있습니까? = myvalue, domain2에 대한 테스트를 실행할 때? 예를 들어 줄 수 있습니까? – tresstylez

    +1

    아, 좋은 질문입니다. 두 개의 HTTP 기본 요청 요소가 있습니다. 하나는 domain1 용이고 하나는 domain2 용이고 다른 하나는 사용하지 않는 것을 비활성화하여 둘 사이를 토글합니다. (기술적으로 나는 "User Defined Variables"를 사용하여 다른 요소 (관리자 사용자 이름/암호도 서버 간 변경 가능)를 사용할 수 있습니다. – BlackGaff

    +0

    굉장합니다. User Defined Variables 및 여러 개의 HTTP Default Request 요소가 필요합니다. 감사합니다. – tresstylez

    3
    1. 설정하여 JMeter 변수 설정 HTTP 헤더 관리자 리퍼러 필드에 그 변수를 사용하여 HTTP 요청 디폴트 서버 이름 필드
    2. 에서 그 변수를 사용

    또한 명령 줄에서 GUI가 아닌 JMeter로 전달하려는 경우 변수 대신 JMeter 속성을 사용할 수도 있습니다

    0

    를 기록합니다 I했던이 : JMX 파일

    • 만든 사용자 정의 변수의 이름 SRVNAME 및 SRVPORT

    • 변경된 HTTP의 참조 자 값 이렇게 될 :

    <elementProp name="Referer" elementType="Header"> 
        <stringProp name="Header.name">Referer</stringProp> 
        <stringProp name="Header.value">http://${SRVNAME}:${SRVPORT}/SomePage.html?querystring=blah</stringProp> 
    </elementProp> 
    
      무시와 변수
    • 할당 값, 속성 명령 줄에서 공급 될 수 있도록 :
    ${__P(srvname,www.defaultserver.org)} 
    ${__P(srvport,80)} 
    
    • 에 너무 HTTP 요청 기본값에서 변수를 사용 " 서버 이름 또는 IP "및"포트 번호 "텍스트 상자. 이 무슨 말인지의 라인을 따라 더 -

    희망이

    관련 문제