Pytest 플러그인을 통해 자동 테스트의 환경 주소를 쉽게 전환하는 방법은 무엇입니까?

머리말

이전 에디터에서는 Pytest 플러그인을 통해 자동화된 테스트 환경을 전환하는 방법을 소개했는데 당시 사용된 방법은 Hook 기능을 통해 명령줄 매개변수 값을 얻은 후 미리 구성된 매개변수를 통해 테스트 환경 주소를 전환하는 것이었다. . Add me VX: atstudy-js "Test"라고 답장하고 자동 테스트 학습 교환 그룹에 입장하세요~~​

오늘 편집자는 Pytest 플러그인을 통해 구현되는 방법인 pytest-base-url을 다시 소개합니다.

pytest-base-url

pytest-base-url은 Pytest의 타사 플러그인으로 주로 테스트 환경 주소를 전환하는 데 사용됩니다. 두 가지 구성 방법이 있는데, 하나는 명령줄에서 직접 URL 매개변수를 추가하는 것이고, 다른 하나는 pytest.ini 메소드를 전달하여 테스트 환경 주소를 미리 저장한 다음 편집기를 따라 두 메소드가 어떻게 구현되는지 확인하는 것입니다.

명령줄 매개변수 전달

명령줄 매개변수가 전달됩니다. 여기서 전달해야 하는 테스트 케이스에 base-url이라는 매개변수 이름을 미리 추가해야 하므로 후속 명령줄에서 매개변수를 직접 전달하는 것이 편리합니다.

#test_01.py

#코딩:utf-8

수입요청

def test_01(base_url):

데이터={

'도시': "상하이",

'키':'xxxxxxxxxx'

}

r=requests.post(base_url,data=data)

결과=r.json()['이유']

인쇄(r.json())

Assert result=='쿼리 성공!'

테스트 케이스가 작성된 후 명령줄을 열고 해당 명령을 실행합니다. 일반적으로 성공적으로 실행하려면 pytest-vs 실행 프로그램만 추가하면 되지만 여기서는 테스트 환경인 새 매개 변수를 추가해야 합니다. 주소.

pytest-vs--base-url 테스트 환경 주소 실행 프로그램.

pytest-vs--base-url http://apis.juhe.cn/simpleWeather/query test_01.py

실행 후 테스트 케이스가 성공적으로 실행되었음을 알 수 있습니다.

명령줄을 통해 실행하고 싶지 않다면 Pytest 실행 프로그램에 명령줄 매개변수를 직접 작성할 수도 있습니다.

#코딩:utf-8

pytest 가져오기

수입요청

def test_01(base_url):

데이터={

'도시': "상하이",

'키':'xxxxxxxxx'

}

r=requests.post(base_url,data=data)

결과=r.json()['이유']

인쇄(r.json())

Assert result=='쿼리 성공!'

if__name__=='__main__':

pytest.main(['-vs','--base-url','http://apis.juhe.cn/simpleWeather/query',])

참고: 여기에 명령줄을 작성할 때 --base-url과 테스트 환경 주소를 별도로 작성해야 합니다. 그렇지 않으면 프로그램에서 오류가 보고됩니다.

pytest.ini 방법

그 중 pytest.ini는 주로 Pytest의 구성 파일 도구에 속하며 몇 가지 간단한 매개변수가 이 파일에 저장될 수 있습니다. 나중에 pytest.ini 파일을 통해 테스트 환경을 저장해야 합니다.

pytest.ini 파일을 생성하고 해당 base_url 매개변수를 다음 위치에 저장합니다.

[파이테스트]

base_url=http://apis.juhe.cn/simpleWeather/query

구성 파일을 작성한 후 상위 코드를 통해 직접 실행하면 해당 URL 주소 및 base_url 명령을 명령줄 매개변수에 추가할 필요가 없습니다.

#코딩:utf-8

pytest 가져오기

수입요청

def test_01(base_url):

데이터={

'도시': "상하이",

'키':'xxxxxxxx'

}

r=requests.post(base_url,data=data)

결과=r.json()['이유']

인쇄(r.json())

Assert result=='쿼리 성공!'

여기 몇몇 친구들은 여러 테스트 환경을 어떻게 처리해야 하는지, 그리고 여기에서 어떻게 전환해야 하는지 묻습니다. 이는 간단합니다. pytest.ini 구성 파일을 실행하여 이 기능을 실현하는 데 도움을 주고, pytest.ini 구성 파일에 addopts 매개변수를 추가하고, 각각 두 개의 테스트 환경을 나타내는 두 개의 ini 파일을 생성해야 합니다.

pytest_dev.ini 파일:

#pytest_dev.ini

[파이테스트]

addopts=--base-url=https://test.anjing.com

pytest_qa.ini 파일:

#pytest_qa.ini

[파이테스트]

addopts=--base-url=https://qa.anjing.com

그런 다음 원하는 매개변수가 성공적으로 전달되었는지 판단하는 어설션을 작성하기만 하면 됩니다.

#코딩:utf-8

def test_home_page(base_url):

인쇄(base_url)

주장 base_url=="https://test.anjing.com"

다음으로 명령줄 매개변수를 통해 계속 실행하지만 이때 -o 매개변수를 추가해야 합니다. 소위 -o 매개변수는 다양한 ini 파일의 구성 정보를 읽는 것입니다. 먼저 pytest_dev.ini 구성을 읽습니다. 파일을 찾아 실행 프로그램이 정상인지 확인합니다.

다음으로 pytest_qa.ini의 구성 파일을 읽고 프로그램 어설션이 실패했으며 두 테스트 환경의 주소가 일치하지 않음을 발견했습니다.

요약하다

에디터에서는 자동화된 테스트 과정에서 우리의 테스트 환경을 전환하는 과정을 간단한 두 가지 방법으로 소개하고 있는데, 물론 방법이 정해져 있는 것은 아니며, 프로젝트에 따라 어떻게 유연하게 사용할 수 있는지가 중요합니다.

마지막으로 제 글을 주의 깊게 읽어주신 모든 분들께 감사의 말씀을 전하고 싶습니다. 호혜는 언제나 필요합니다. 그다지 귀중한 것은 아니지만 필요하다면 가져갈 수 있습니다.

 

 이 자료는 [ 소프트웨어 테스팅 ] 친구들을 위한 가장 포괄적이고 완전한 준비 창고여야 합니다 . 이 창고는 또한 가장 어려운 여정을 통해 수만 명의 도움이 되기를 바랍니다! 파트너는 아래의 작은 카드를 클릭할 수 있습니다.테스트 엔지니어와 

Supongo que te gusta

Origin blog.csdn.net/qq_73332379/article/details/132691206
Recomendado
Clasificación