머리말
HttpRunner에서는, 추출 데이터에 의해 JSON의 구조, 사용하는 반응 결과 추출 콘텐츠 조합하여 . 등, 조작 수단 content.code 매우 편리한 사용하지만, 반응 결과는 다음 / HTML 구조를 텍스트하는 경우 당신은 너무 사용할 수 없습니다.
이 때, 우리는 그것을 추출하는 정규 표현식을 사용할 수 없습니다? 대답은 '예'입니다.
테스트 시나리오
자, 내가 방문 TesterHome의 긍정적 인 반응 데이터에 제목 제목을 추출 후, 홈 페이지를.
추출 및 일반의 주장을 추출
위의 결과에서 캡처, 우리는 당신의 제목을 추출 할 경우 볼 수 있습니다 TesterHome의 : 키워드, 당신은으로 정규 표현식을 사용할 수 있습니다 (+.?) <제목> </ 제목> . 다음과 같이 사용 YAML 형식은 다음과 같습니다
- test:
name: visit TesterHome
request:
url: https://testerhome.com/
method: GET
extract:
- title: <title>(.+?)</title>
validate:
- eq: [status_code, 200]
- eq: [$title, "TesterHome"]
변수에 데이터 추출 정기적으로 사용, 제목 , 당신은을 통해 다시 사용해야 할 경우 $ 제목 참조하십시오.
일반의 사용을 확인
데이터 추출을 추출 할 때 일정한 반응을 사용하는 것 외에도, 또한 일반적인 직접 주장을 사용할 수있다. 다음과 같이 사용 YAML 형식은 다음과 같습니다
- test:
name: visit TesterHome 2
request:
url: https://testerhome.com/
method: GET
validate:
- eq: [status_code, 200]
- eq: ['<title>(.+?)</title>', "TesterHome"]
내가 직접 사용, 여기에 일반 사용 <제목> (. +?) </ 제목> 불평 할 것이다, 우리는 다음과 같은 단일 또는 이중 따옴표가 될 수 있습니다 추가 '<제목> (. +? ) </ 제목>' 또는 "<제목> (. +?) </ 제목>" .
전체 사용 사례 :
- config:
name: re test
- test:
name: visit TesterHome
request:
url: https://testerhome.com/
method: GET
extract:
- title: <title>(.+?)</title>
validate:
- eq: [status_code, 200]
- eq: [$title, "TesterHome"]
- test:
name: visit TesterHome 2
request:
url: https://testerhome.com/
method: GET
validate:
- eq: [status_code, 200]
- eq: ['<title>(.+?)</title>', "TesterHome"]