머리말
이전 에디터에서는 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의 구성 파일을 읽고 프로그램 어설션이 실패했으며 두 테스트 환경의 주소가 일치하지 않음을 발견했습니다.
요약하다
에디터에서는 자동화된 테스트 과정에서 우리의 테스트 환경을 전환하는 과정을 간단한 두 가지 방법으로 소개하고 있는데, 물론 방법이 정해져 있는 것은 아니며, 프로젝트에 따라 어떻게 유연하게 사용할 수 있는지가 중요합니다.
마지막으로 제 글을 주의 깊게 읽어주신 모든 분들께 감사의 말씀을 전하고 싶습니다. 호혜는 언제나 필요합니다. 그다지 귀중한 것은 아니지만 필요하다면 가져갈 수 있습니다.
이 자료는 [ 소프트웨어 테스팅 ] 친구들을 위한 가장 포괄적이고 완전한 준비 창고여야 합니다 . 이 창고는 또한 가장 어려운 여정을 통해 수만 명의 도움이 되기를 바랍니다! 파트너는 아래의 작은 카드를 클릭할 수 있습니다.테스트 엔지니어와