Python 자동 테스트 프레임 워크 학습 일기

pytest는 다음 기능을 갖춘 매우 성숙하고 모든 기능을 갖춘 Python 테스트 프레임 워크입니다.

간단하고 유연하며 사용하기 쉽습니다.

매개 변수화 지원

간단한 단위 테스트 및 복잡한 기능 테스트를 지원할 수 있으며 셀레늄 / appnium 및 기타 자동화 된 테스트, 인터페이스 자동화 테스트 (pytest + requests)를 수행하는데도 사용할 수 있습니다.

Pytest에는 많은 타사 플러그인이 있으며 pytest-selenium (통합 셀레늄), pytest-html (완벽한 HTML 테스트 보고서 생성), pytest-rerunfailures (실패한 사례의 반복 실행), pytest-와 같은 사용자 정의 확장이 될 수 있습니다. xdist (멀티 CPU 배포) 등

테스트 케이스 처리 건너 뛰기 및 xfail

젠킨스와 잘 통합 될 수 있습니다.

보고서 프레임 워크 ---- allure는 pytest도 지원합니다.

Pytest 설치

pip 설치 -U pytest

Pytest 사용 사례 설계 원칙

테스트 클래스는 Test로 시작하며 init 메소드를 가질 수 없습니다.

test_로 시작하는 함수

Test로 시작하는 수업

모든 패키지 pakege에는 __init__.py 파일이 있어야합니다.

assert를 사용하여 Assert

Pytest를 실행하는 두 가지 방법

Pycharm에서 실행되는 코드

pytest.main ([ "test.py"])

Pycharm에서 실행되는 코드

pytest test.py

지정된 클래스에서 지정된 메서드 실행

pytest 파일 이름 :: 클래스 이름 :: 메서드 이름

Pytest 매개 변수 설명

-v 설명 : 사용 사례가있는 파일, 사용 사례 이름 등과 같은 사용 사례의보다 자세한 실행 정보를 출력 할 수 있습니다.

-s 설명 : 인쇄 정보 등과 같은 사용 사례의 튜닝 정보를 입력합니다.

-x : 오류가있는 사용 사례, 즉시 실행 종료 및 결과 출력

-v : 자세한 보고서 내용보기

-collect-only : 실행할 모든 사용 사례가 표시됨을 나타냅니다.

-lf : 마지막에 실패한 사용 사례 만 실행

-vv : 자세한 테스트 결과 표시

-tb = no : 사용 사례 실패에 대한 오류 세부 정보를 표시하지 않습니다.

-tb = line : 사용 사례가 실패한 코드의 특정 라인 수를 표시합니다.

-tb = short : 자세한 오류 정보 표시

-k "키워드"설명 : "키워드"를 포함하는 사용 사례 실행

-q 참고 : 콘솔 출력을 단순화하면 출력 정보가 ​​위의 결과와 다른 것을 알 수 있습니다. 아래 그림에는 통과 결과 대신 두 개의 점이 있습니다.

-maxfail = num 사용 사례 오류가 지정된 수에 도달하면 테스트를 중지합니다.

m 설명 : 특정 테스트 케이스를 실행합니다. 사용 사례를 다시 수정하고 새 사용 사례를 추가하겠습니다.

여러 태그를 실행하려면 다음과 같이 표현식을 사용하십시오.

pytest -m "slow or faster"test_1.py는 로고가 느리거나 로고가 더 빠른 사용 사례를 실행합니다.

pytest -m "slow and faster"test_1.py는 느리고 빠르게 식별 된 사용 사례를 실행합니다.

pytest -m "느리고 빠르지 않음"test_1.py 로고가 느리고 빠르지 않은 사용 사례 실행

참고 : ""(작은 따옴표) 뒤에 -m이 올 수 없으며 ""(큰 따옴표) 만 사용할 수 있습니다. 그렇지 않으면 인식되지 않습니다.

ini 구성 파일

pytest.ini 파일 생성 (고정 쓰기)

[pytest]; 고정 쓰기

; 변수 이름은 틀릴 수 없습니다.

addopts = -vv -s; 여러 매개 변수 사이의 공백

testpaths =… / HC / huace; 여러 디렉토리 사이의 공백

python_files = test * .py; python 파일 접두사, 사용자 정의 가능

python_classes = huace; 클래스 이름 지정

python_functions = test *; 사용자 정의 할 수있는 메소드 이름 지정

테스트 기능 건너 뛰기

스킵 테스트 기능 : 특정 조건에 따라 식별 된 테스트 기능이 실행되지 않습니다.

- - 코딩 : UTF-8 - -

pytest 가져 오기

클래스 Test () :

def test(self):

    print("执行的是testcase的用例")

@ pytest.mark.skipif (condition = 1 <2, reason = "1은 2보다 크지 않으므로 실행되지 않습니다.")

클래스 huace () :

def haha(self):

    print("执行的是haha方法里面的用例")
  •  

추천

출처blog.csdn.net/woaisjm/article/details/112816325