HttpRunner 데이터를 추출 4-- 사용하는 정규 표현식을 학습

머리말

HttpRunner에서는, 추출 데이터에 의해 JSON의 구조, 사용하는 반응 결과 추출 콘텐츠 조합하여 . 등, 조작 수단 content.code 매우 편리한 사용하지만, 반응 결과는 다음 / HTML 구조를 텍스트하는 경우 당신은 너무 사용할 수 없습니다.

이 때, 우리는 그것을 추출하는 정규 표현식을 사용할 수 없습니다? 대답은 '예'입니다.

테스트 시나리오

자, 내가 방문 TesterHome의 긍정적 인 반응 데이터에 제목 제목을 추출 후, 홈 페이지를.

액세스 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"]

추천

출처www.cnblogs.com/wintest/p/11801547.html