인터페이스 테스트

8112 단어 jmeter
전단
  • iOS
  • 안 드 로 이 드
  • 백 스테이지
  • java, python, php, .net
  • client server , json。 json , key-value, ,{"name":" ","age":23"}
    xml 을 사용 하 는 형식 도 있 습 니 다.
    zhangsan
    male

    인 터 페 이 스 를 테스트 하기 전에 인터페이스 문서 가 있어 야 합 니 다.문서 에 요청 방식,요청 파라미터,응답 정보 등 이 있 습 니 다.기능 테스트 는 업무 논 리 를 측정 한다.인터페이스 테스트 는 업무 테스트 중의 하나 에 속한다.
  • 업무 논리 에 주목
  • 정상 적,이상 적
  • get 요청 이 라면 어떤 도구 도 빌 리 지 않 고 유성 기 를 사용 하면 요청 을 보 낼 수 있 습 니 다.http://api.xxxx.cn/api/user/stu_info?stu_name= 반환 결 과 는 다음 과 같다.
    {
            "error_code": 0,
            "stu_info": [
                    {
                            "id": 5671,
                            "name": "  ",
                            "sex": " ",
                            "age": 28,
                            "addr": "          32 ",
                            "grade": "   ",
                            "phone": "18799932946",
                            "gold": 120054446
                    }
            ]
    }

    요청 의 형식 은http://ip:port/ / ?key1=value1&key2=values2입 니 다.여러 개의 매개 변수 가 중간 에 여러 개의 매개 변 수 를 연결 합 니 다.
    postman 으로 요청 보 내기
    postman 의 body 에서 form-data 와 x-ww-form-urlencoded 의 차이 점:
  • 키-value 형식 만 전달 할 때 차이 가 없다
  • form-data 는 key-value 외 에 file 등 멀티미디어 데이터 도 전송 할 수 있다
  • x-ww-form-urlencoded 는 key-value 형식 만 지원 합 니 다
  • POST 요청
    json 형식 으로 들 어 갑 니 다.body 에서 raw,JSON 형식 을 선택 하 십시오.표시 되 지 않 으 면 key-vaule 형식 을 사용 하 십시오.
    cookie, , cookie sessionId sessionId , 。 session, , 。
    쿠키 정 보 를 보고 브 라 우 저 F12 를 통 해 저 장 된 쿠키 정 보 를 볼 수 있 습 니 다.
    쿠키 정보 추가,Headers 에 쿠키 정보 추가
    헤더 정보 추가
    파일 업로드
    POStman 전역 변수
    사용 방식
    DNS,HTTP 프로 토 콜,세 번 악수,네 번 손 흔 들 기
    HTTP 요청 은 두 부분 으로 나 뉘 는데 요청 헤더 와 요청 체 입 니 다.요청 헤더 에는 브 라 우 저 유형,쿠키 등 추가 정보 가 있 습 니 다.요청 체 에서 전 달 된 것 은 구체 적 인 데이터 입 니 다.
  • GET 요청 은 요청 헤더 만 있 고 요청 체 는 없습니다.그것 의 데 이 터 는 url 에 직접 놓 여 있다.POST 는 body 에 넣 어 달라 고 요청 합 니 다.
  • GET 요청 은 길이 제한 이 있 고 POST 요청 은 길이 제한 이 없습니다.
  • GET 요청 은 POST 안전 이 없 지만,스냅 백 을 통 해 모두 정 보 를 볼 수 있다.

  • 요청 헤더(header):
  • 추가 정보
  • 브 라 우 저
  • cookie
  • 어떤 데이터 가 필요 합 니까
  • 요청 체(body):
  • key=value

  • 인터페이스 용례
    항목
    모듈
    용례 id
    용례 설명
    요청 URL
    요청 모드
    요청 데이터
    예상 결과
    요청 메시지
    귀환 메시지
    테스트 결과
    테스트 인원
    HTTP 상태 코드
  • 200 요청 성공
  • 302 재 정립
  • 404 클 라 이언 트 요청 이 합 법 적 이지 않 고 페이지 를 찾 을 수 없습니다
  • 500 서버 에 문제 가 있 음
  • JMeter 사용 하기
    Jmeter 난 코드 처리
    JMeter 결과 트 리 보기 중 정보 난호 되 돌리 기 Jemter bin ,jmeter.properties sampleresult.default.encoding=utf-8, jmeter。
    JMeter 에서 body data 의 난호Jmeter bin ,jmeter.properties jsyntaxtextarea.font.family=Hack, jmeter。
    GET 요청
    POST 요청
    POST 입 참 은 JSON 형식 으로 데이터베이스 에 삽 입 된 중국어 가 난 장 판 인 것 을 피 하려 면 Content encoding 에 utf-8 을 써 야 합 니 다.
    쿠키 정 보 를 추가 합 니 다.쿠키 정 보 는 HTTP 정보 헤더 관리자 에 적 혀 있 습 니 다.HTTP 정보 헤더 가 스 레 드 그룹 아래 에 있 으 면 HTTP 요청 과 동급 이면 스 레 드 그룹의 모든 요청 은 이 HTTP 정보 헤더 에 있 는 정 보 를 사용 할 수 있 습 니 다.특정한 HTTP 요청 에 넣 으 면 이 요청 에 만 적 용 됩 니 다.
    Refer 정보 추가
    파일 업로드,JMeter 3.0 이상 버 전 은 MIME TYPE 정 보 를 작성 하고 마음대로 작성 하면 됩 니 다.예 를 들 어 text 로 작성 하 는 것 입 니 다.
    JMeter 매개 변수 화
  • 사용자 정의 변수
  • 함수 조수 중
  • __Random
  • __counter
  • __time

  • 파일 에서 읽 기
  • 스 레 드 그룹->설정 단위->사용자 정의 변수,변수 이름과 변수 값 입력
    사용 방식 은${변수 이름}
    함수 조수 사용 중Random 함수 생 성 난수 입 니 다.이 예 에서 사용자 등록 기능 을 테스트 하기 때문에 사용자 이름 은 겹 쳐 서 는 안 됩 니 다.이 곳 의 임 의 수 는 사용자 이름 뒤의 숫자 옵션 을 생 성 하 는 데 사 용 됩 니 다.->함수 조수 대화 상자->Random,최소 값 과 최대 값 을 입력 하면 생 성 됩 니 다.
    사용 방식 은 다음 과 같 습 니 다.
    온라인 그룹 에서 5 번 순환 합 니 다.결과 트 리 에서 5 번 요청 한 사용자 이름 이 다 릅 니 다.
    계수기 사용counter 함수 자체 증가
    사용time 함수 가 시간 을 가 져 오 려 면 하나의 형식 을 입력 해 야 합 니 다.yyyMMddhhmmss,HH 는 24 시간 제,hh 는 12 시간 제 입 니 다.
    시간 표시
  • 포맷 된 시간 201904161004
  • 타임 스탬프,재time 함수 에서 포맷 하지 않 은 것 은 시간 스탬프 입 니 다.JMeter 는 자바 로 개발 되 었 습 니 다.자바 의 시간 스탬프 는 기본적으로 밀리초 까지 정확 하기 때문에 1000 을 나 누 어야 진짜 시간 스탬프 입 니 다.

  • 파일 에서 데 이 터 를 읽 는 장면 은 대량의 데 이 터 를 필요 로 하고 데 이 터 는 데이터베이스 에서 파일 로 가 져 옵 니 다.스 레 드 그룹->구성 요소->CSV Data Set Config Filename 에 파일 이름 만 적 혀 있 으 면 Jmeter 의 bin 디 렉 터 리 에 파일 을 넣 어야 합 니 다.파일 에 여러 열 이 있 으 면 기호 로 구분 하고 Delimiter 에 관련 기 호 를 추가 해 야 합 니 다.Variable Names 에 도 여러 개의 변수 이름 을 입력 해 야 합 니 다.중간 에","구분"을 사용 하면 한 줄 의 데 이 터 를 가 져 옵 니 다.Ignore First Line,첫 줄 Allow quoted data 를 무시 할 지,따옴표 Recycle on EOF 를 허용 할 지,파일 이 끝 난 후에 stop thread on EOF 를 순환 할 지,파일 종료 문자 가 스 레 드 공유 모드 를 중단 할 지,모든 스 레 드 그룹 이 유효 할 지,현재 스 레 드 그룹 에서 만 유효 합 니까?
  • All Threads,모든 스 레 드 그룹
  • Current Thread Group,현재 스 레 드 그룹
  • 연관 성
    관련:첫 번 째 인 터 페 이 스 를 호출 하여 첫 번 째 인터페이스 에서 돌아 온 데이터 에서 특정한 값 을 가 져 와 두 번 째 인터페이스 에 사용 합 니 다.
    HTTP 요청->백업 프로세서->JSON PATH EXTRACTOR
    로그 인 인 인 터 페 이 스 는 다음 과 같 습 니 다:
    {
            "error_code": 0,
            "login_info": {
                    "login_time": "20190416115043",
                    "sign": "96b4de24614f0796402c54f889e50147",
                    "userId": 9786
            }
    }

    login 을 찾 아야 합 니 다.info 의 sign,sign 의 값 을 충전 인터페이스 에 넣 어 쿠키 값 으로 사용 합 니 다.쓰 기 는$.logininfo.sign,그 중$는 가장 바깥쪽{}을 대표 하 며,한 층 한 층 안 으로 가 져 옵 니 다.
    가 져 온 sign 을 충전 인터페이스의 쿠키 에 넣 습 니 다.
    각 변수 에서 가 져 온 값 을 보 려 면 스 레 드 그룹->Sampler->Debug Sampler 를 사용 하여 각 변수 에 대응 하 는 값 을 볼 수 있 습 니 다.
    JMeter 압력 측정
  • Jmeter 압력 측정
  • 분포 식 압력 측정
  • Liux 에서 실행
  • 10-15 분
  • 안정성 테스트,2 일 또는 일주일 정도

  • 온라인 스 레 드 그룹 에서 스 레 드 수 와 압력 측정 의 지속 시간 을 설정 합 니 다.장시간 의 압력 측정 을 하려 면'영원히'와 스케줄 러 를 선택 하고 지속 시간 을 기입 하여 지속 시간 을 기입 한 후에 종료 시간 은 효력 을 잃 습 니 다.시작 지연 을 기입 한 후에 시작 시간 은 효과 가 없습니다.Ramp-Up Period.스 레 드 는 몇 초 안에 시작 되 고 0 은 모든 스 레 드 를 동시에 시작 합 니 다.보통 1 이면 됩 니 다.
    TPS,서버 가 매 초 처리 할 수 있 는 요청 수 응답 시간,요청 은 보 낸 후 받 은 서버 와 데 이 터 를 되 돌려 주 는 데 걸 리 는 시간 입 니 다.
    취 합 보고서 Samples,보 낸 요청 수 Average,평균 응답 시간,단 위 는 밀리초 Throughput,TPSError%,오류 율,업무 요구 에 따라 은행 업무 요구 100%의 정확 도 를 요구 합 니 다.
    결 과 를 검증 하 는 데 사용 된다 고 단언 하 다.
    JMeter 조작 데이터베이스
    테스트 계획->Add directory or jar to classpath
    스 레 드 그룹->설정 단위->JDBC 연결 구성 변수 이름 입력 Databse URL,jdbc:mysql://192.168.1.116:3307/bugfree?characterEncoding=UTF-8&allowMultiQueries=true
    JDBC Request 를 추가 합 니 다.Variable Name 에 JDBC 연결 설정 에 입력 해 야 하 는 변수 이름 JDBC 요청 에 Query Type 이 Callable Statement 일 때 조회 와 업데이트 문 구 를 동시에 실행 할 수 있 습 니 다.
    JMeter 분포 식 압력 측정
  • 여러 대의 컴퓨터 가 있 고 모든 컴퓨터 에 jmeter 가 있 으 며 이 몇 대의 컴퓨터 는 서로 PING 통
  • 할 수 있다.
  • 컨트롤 러 수정 로 컬 Jmeter 에서 jmeter.properties 에서 remotehosts 항목,부하 기 ip 와 포트 추가,
  • remote_hosts=192.168.177.128:1099
  • 컨트롤 러 도 압력 을 보 내야 한다 면 remotehosts 중 잔업 localhost:1099
  • 부하 기 에서 jmeter.properties 파일 을 수정 합 니 다.(부하 기 가 Windows 라면 rmi 의 두 가지 항목 을 수정 할 필요 가 없습니다)
  • server_port=1099
  • client.rmi.localport=0
  • server.rmi.port=1099

  • 부하 기 에서 jmeter-server.bat 를 실행 합 니 다.
  • 부하 기 가 리 눅 스 라면 방화벽 을 닫 아야 한다
  • ./jmeter-server-Djva.rmi.server.hostname=xxx.xxx.xxx.xxx(부하 기 본체 IP)
  • 컨트롤 러 도 압력 을 보 내 면 jmeter-sever.jpat
  • 를 실행 해 야 합 니 다.
  • 매개 변수 화 된 파일 이 있 으 면 다른 부하 기의 같은 위치 에 한 부 를 배치 해 야 합 니 다.
  • 컨트롤 러,운행->원 격 모두 시작
  • 부하 기 압력 측정 시 제어 기 는 결과 트 리 의 응답 결과 내용 이 비어 있 으 므 로 결과 가 정확 한 지 판단 하기 위해 단언 을 추가 해 야 합 니 다.
    Linux 에서 NO GUI 비 도형 화 방식 으로 Jmeter 실행
  • Jmeter 의 bin 디 렉 터 리 를 환경 변수 에 추가 합 니 다(환경 변 수 를 추가 하지 않 으 면 Jmter 디 렉 터 리 에서 jmeter 명령 을 실행 해 야 합 니 다)
  • 윈도 우즈 에서 제 작 된 jmeter 스 크 립 트 를 리 눅 스에 올 려 놓 기
  • 매개 변수 화 파일 이 있 으 면 jmeter 의 bin 디 렉 터 리 에 매개 변수 화 파일 을 넣 어야 합 니 다
  • jmeter-n-t/경로/스 크 립 트 이름.jmx-l 결과.jtl-n 비 도형 화 인터페이스 실행-t 지정 테스트 스 크 립 트-l 지정 결과 파일 을 실행 하여.jtl 로 끝 냅 니 다
  • .jtl 파일 을 생 성 한 후 windows 에 다운로드
  • jmeter 를 열 고 결과 트 리 를 추가 하고 결과 트 리 에서.jtl 파일 을 엽 니 다
  • 좋은 웹페이지 즐겨찾기