내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Python+appium 자동 테스트 시리즈가 종료됩니다. 이 블로그에서 요약해 보겠습니다.
우선, APP 자동화 테스트는 많은 회사에서 사용되지 않을 수 있지만 대부분의 자동화 테스트 엔지니어 및 수석 테스트 엔지니어 채용 정보에서도 요구되므로 더 나은 치료를 받으려면 여전히 필요하다는 점을 설명하고 싶습니다. 결국, 누가 돈 문제를 겪지 않을 것입니다.
다음으로 APP UI 자동화 테스트에 대한 아이디어를 요약해 보겠습니다.
1. 개발 언어 선택
자동화된 테스트에 일반적으로 사용되는 프로그래밍 언어에는 Python, Java, Javascript, Ruby, C#, PHP 등이 있습니다. 일반적으로 자동화 스크립트를 작성하기 위해서는 익숙한 프로그래밍 언어를 선택하게 되지만, 기본적으로 프로그래밍 기초가 전혀 없는 어린이(또는 자동화 테스트에 중점을 두는 어린이)의 경우에는 Python을 배우는 것이 좋습니다.
다른 언어와 비교하여 Python은 자동화된 테스트에 대해 다음과 같은 장점이 있습니다.
초보자의 경우 Python은 간결한 구문을 갖고 있으며 읽기 쉽고 배우기 쉽습니다.
스크립팅을 더욱 효율적으로 만들어주는 강력한 타사 라이브러리가 있습니다.
Python의 Pytest 자동화 테스트 프레임워크는 현재 가장 널리 사용되는 테스트 프레임워크 중 하나입니다.
2. UI 테스트 프레임워크 선택
개발 언어를 선택한 후에는 UI 테스트 프레임워크를 선택해야 합니다. 현재 더 주류이거나 널리 사용되는 APP UI 자동화 테스트 프레임워크에는 Appium, Airtest 등이 있습니다.
1,아피움
오픈 소스
Appium 서버는 Windows, macOS 및 Linux에서의 실행을 지원합니다.
Python, Java, Javascript, Ruby 등과 같은 여러 주류 프로그래밍 언어를 지원합니다.
Android, ios, H5 자동화 테스트 지원(통합 UiAutomator, UiAutomation 프레임워크)
환경 구축이 더 복잡해졌습니다.
2,에어테스트
NetEase(공식 문서)에서 개발되었으며 Python 언어만 지원합니다.
초보자에게 매우 친숙한 Airtest 및 Poco 테스트 프레임워크를 통합하는 강력한 IDE를 제공합니다.
이미지 인식을 기반으로 한 UI 자동화 테스트 프레임워크인 airtest를 통합하면 코드를 이해하지 못하더라도 자동화된 스크립트를 작성할 수 있습니다.
크로스 플랫폼으로 Windows, Android 및 iOS 애플리케이션 소프트웨어의 자동화된 테스트를 수행할 수 있습니다.
게임 테스트에 더 친숙함
Airtest와 Poco는 본질적으로 Python용 타사 라이브러리입니다. 테스트 환경은 Appium만큼 복잡하지 않습니다.
3. 프레임을 선택하세요
실제 상황에 따라 적절한 프레임워크를 선택하세요.
다음 상황에서는 NetEase의 Airtest(Airtest 공식 웹사이트)에 우선순위를 부여할 수 있습니다.
프로그래밍 기초 없음
게임 테스트
테스트 시나리오는 상대적으로 간단합니다(Appium은 상대적으로 부피가 큽니다).
Alipay 미니 프로그램 자동화(블로거는 현재 Alipay 미니 프로그램의 자동화된 테스트를 위해 Airtest와 통합된 Poco 프레임워크를 사용하고 있습니다)
다음 상황에서는 Appium을 선택하는 것이 좋습니다.
테스트 시나리오는 비교적 복잡합니다(예: 여러 휴대폰에 대한 일괄 테스트가 필요함).
테스트 스크립트 언어가 Python이 아닙니다(Airtest는 현재 Python만 지원함).
3. 단위 테스트 프레임워크 선택
위에서 언급한 UI 테스트 프레임워크와 달리 단위 테스트 프레임워크는 테스트 케이스 로드, 테스트 케이스 실행, 어설션, 테스트 결과 출력 등을 수행하는 데 사용됩니다.
다양한 개발 언어에는 Java용 JUnit, TestNG, Robot 등, Python용 Unittest, pytest 등과 같은 고유한 해당 단위 테스트 프레임워크가 있습니다. 블로거는 자동 테스트를 위해 주로 Python을 사용하므로 여기서는 Python 단위 테스트 프레임워크만 설명합니다.
Python의 주류 단위 테스트 프레임워크:
Unittest, Python의 자체 단위 테스트 프레임워크
Unittest를 기반으로 개발된 pytest는 사용하기 쉽고, 더 자세한 정보를 담고 있으며, 플러그인도 많습니다.
인터페이스, 내장 보고서 및 로그, 완전한 기능, 명확하고 아름다운 Python 기반의 키워드 중심 테스트 프레임워크인 로봇 프레임워크
여기서는 강력하고 사용하기 쉬운 pytest를 사용하는 것이 좋습니다. 공식 문서는 영어로 되어 있으므로 Pytest 사용자 매뉴얼을 참조하세요.
4. 테스트 환경 설정
1. 테스트 컴퓨터 선택
iOS 앱 UI 자동화는 Mac 컴퓨터에서만 수행할 수 있으므로 가능하다면 UI 자동화 테스트에는 특별히 Mac 컴퓨터를 사용하는 것이 좋습니다.
2. 휴대폰 선택 테스트
테스트 스크립트 디버깅을 처음 시작할 때 에뮬레이터를 선택할 수 있습니다. Android 에뮬레이터의 경우 Gernymotion 또는 Yeshen 에뮬레이터를 선택할 수 있습니다.
전체 테스트 프로젝트의 개발이 완료된 후에는 실제 사용자 사용 시나리오에 더 가까운 자동화된 스크립트를 실행하기 위해 실제 머신으로 전환하는 것이 좋습니다.
3. 개발 언어 환경
Python 3 이상의 버전을 설치하는 것이 좋습니다. 공식에서는 Python2 버전의 업데이트 및 유지 관리를 중단했습니다.
4. UI 자동화 테스트 프레임워크 환경 구축
Windows 환경에서 Appium을 구축하는 것은 조금 더 복잡합니다. Mac에서 Appium을 구축하는 것은 나중에 공유하기 위해 블로그를 작성하겠습니다.
Airtest 프레임워크를 선택하는 경우 공식 웹사이트를 참고하세요.
5. 스크립트 작성
1. 테스트 데모 작성
전체 테스트 환경이 성공적으로 구축되었는지, 일반적인 예제를 실행할 수 있는지 확인하기 위해서는 일반적으로 간단한 테스트 스크립트를 작성하고 실행해야 합니다. 통과하면 전체 환경이 성공적으로 구축되었음을 의미합니다.
2. 디렉토리 구조 결정
APP UI 자동화 테스트 프로젝트를 개발하려면 페이지 개체 디자인 패턴을 사용하는 것이 좋습니다.
3. 테스트 보고서를 선택하세요
다양한 개발 언어와 다양한 단위 테스트 프레임워크는 다양한 테스트 보고서를 사용할 수 있습니다. Python에서 단위 테스트 프레임워크는 HTMLTestRunner 또는 BSTestrunner를 사용하여 테스트 보고서를 생성합니다. Pytest 프레임워크는 pytest-html을 사용하여 보고서를 생성하거나 allure를 통해 테스트 보고서를 사용자 정의합니다.
위 단계가 완료된 후 계속해서 테스트 프로젝트에 테스트 사례를 추가합니다.
6. 젠킨스 통합
위의 단계에 따라 전체 앱 UI 자동화 테스트 프로젝트를 작성하고 일정 기간 동안 안정적으로 실행한 후 Jenkins 통합을 고려할 수 있습니다.
7. 요약
요약하자면, APP UI 자동화는 다음과 같은 방법으로 구현할 수 있습니다.
1. 파이썬 + 앱피엄 + 유닛테스트 + HTMLTestRunner
2,python + appium + pytest + pytest-html / allure
3,파이썬 + 에어테스트(AirtestIDE)
4,파이썬 + 포코 + pytest + pytest-html / 알루어
실제 상황에 따라 선택하시면 됩니다.
마지막으로, 제 글을 주의 깊게 읽어주시는 모든 분들께 감사의 말씀을 전하고 싶습니다. 상호성은 항상 필요합니다. 비록 그다지 귀중한 것은 아니지만, 사용하실 수 있다면 직접 가져가셔도 됩니다.
이 정보는 [소프트웨어 테스팅] 친구들을 위한 가장 포괄적이고 완전한 준비 창고가 되어야 합니다. 이 창고는 또한 가장 어려운 여정을 통해 수만 명의 테스트 엔지니어와 동행했습니다.