기본, 하이브리드, 모바일 웹 및 데스크탑 앱을위한 크로스 플랫폼 테스트 자동화.
문서 | 시작 | 생태계 | changelog | 기고 가이드 | 토론 포럼
Appium은 다양한 모바일, 데스크탑 및 IoT 플랫폼에 대한 WebDriver 기반 자동화 가능성을 제공하는 오픈 소스 자동화 프레임 워크입니다. Appium은 모듈 식적이고 확장 가능하며 여러 프로그래밍 언어를 지원하므로 관련 소프트웨어의 전체 생태계가 있음을 의미합니다.
2022 년 1 월 1 일 현재 Appium 팀은 더 이상 Appium 1을 유지하거나 지원하지 않습니다. 공식적으로 지원되는 모든 플랫폼 드라이버는 Appium 2 와만 호환됩니다.
여전히 Appium 1을 사용하고 있다면 마이그레이션 가이드를 읽으십시오.
경고
Appium Desktop 또는 Appium Server GUI를 사용하는 경우 두 도구가 모두 더 이상 사용되지 않았으므로 Appium 2로 업그레이드 할 수 없습니다. 독립형 Appium 2 서버와 함께 Appium Inspector를 사용하십시오.
Appium은 npm 사용하여 설치할 수 있습니다 (다른 패키지 관리자는 현재 지원되지 않습니다). 시스템 요구 사항 및 추가 정보는 설치 문서를 확인하십시오.
Appium 1에서 업그레이드하는 경우 Appium 1이 완전히 제거되어 있는지 확인하십시오 ( npm uninstall -g appium ). 이 작업이 완료되지 않은 경우 예기치 않은 오류가 나타날 수 있습니다.
npm i -g appium이것은 Core Appium Server 만 설치하여 자체적으로 아무것도 자동화 할 수 없습니다. 자동화하려면 대상 플랫폼의 드라이버를 설치하십시오.
Appium은 iOS, Android, MacOS, Windows 등과 같은 다양한 플랫폼에서 앱 자동화를 지원합니다. 각 플랫폼은 특정 플랫폼을 자동화하는 방법을 알고있는 하나 이상의 "드라이버"가 지원합니다. Appium Ecosystem의 드라이버 페이지에서 공식적으로 지원되는 3 자 드라이버의 전체 목록을 찾을 수 있습니다.
운전자 관리는 Appium의 확장 명령 줄 인터페이스를 사용하여 수행됩니다.
# Install an official driver from npm (see documentation for a list of such drivers)
appium driver install < driver-name >
# Install any driver from npm
appium driver install --source=npm < driver-name >
# See documentation for installation from other sources
# List already installed drivers
appium driver list --installed
# Update a driver (it must be already installed)
# This will NOT update the major version, in order to prevent breaking changes
appium driver update < driver-name >
# Update a driver to the most recent version (may include breaking changes)
appium driver update < driver-name > --unsafe
# Uninstall a driver (it won't last forever, will it?)
appium driver uninstall < driver-name > 클라이언트 라이브러리를 사용하면 다양한 프로그래밍 언어로 Appium 테스트를 작성할 수 있습니다. Java, Python, Ruby 및 .NET C#에 대한 공식적으로 지원되는 고객과 다른 언어의 타사 클라이언트가 있습니다. Appium Ecosystem의 클라이언트 페이지에서 전체 고객 목록을 찾을 수 있습니다.
플러그인을 사용하면 서버 코드를 변경하지 않고 서버 기능을 확장 할 수 있습니다. 드라이버와 플러그인의 주요 차이점은 Appium Server Startup에서 후자가 명시 적으로 활성화되어야한다는 것입니다 (설치된 모든 드라이버는 기본적으로 활성화 됨) :
appium --use-plugins= < plugin-name >Appium Ecosystem의 플러그인 페이지에서 공식적으로 지원되는 타사 플러그인의 전체 목록을 찾을 수 있습니다.
드라이버와 마찬가지로 플러그인 관리는 Appium의 확장 명령 줄 인터페이스를 사용하여 수행됩니다.
# Install an official plugin from npm (see documentation for a list of such plugins)
appium plugin install < plugin-name >
# Install any plugin from npm
appium plugin install --source=npm < plugin-name >
# See documentation for installation from other sources
# List already installed plugins
appium plugin list --installed
# Update a plugin (it must be already installed)
# This will NOT update the major version, in order to prevent breaking changes
appium plugin update < plugin-name >
# Update a plugin to the most recent version (may include breaking changes)
appium plugin update < plugin-name > --unsafe
# Uninstall a plugin
appium plugin uninstall < plugin-name > Appium Server에 명령을 보내기 위해서는 클라이언트 라이브러리가들을 것으로 예상되는 URL과 포트에서 실행해야합니다. Appium의 명령 줄 인터페이스는 서버를 시작하고 구성하는 데 사용됩니다.
# Start the server on the default host (0.0.0.0) and port (4723)
appium server
# You can also omit the 'server' subcommand
appium
# Start the server on the given host, port and use a custom base path prefix (the default prefix is '/')
appium --address 127.0.0.1 --port 9000 --base-path /wd/hubAppium은 단일 서버 프로세스 내에서 병렬 서버 프로세스의 실행을 지원합니다. 특정 드라이버에 최적의 모드 또는 병렬 세션을 지원하는지 여부에 대한 해당 드라이버 문서를 참조하십시오.
xcuitest 및 uiautomator2 와 같은 일부 드라이버에는 내장 모바일 웹 및 하이브리드 앱 지원이 있습니다. 동일한 스크립트 내에서 이미 웹 자동화의 표준 인 WebDriver 모델을 사용하여 기본 앱 자동화와 WebView Automation을 원활하게 전환 할 수 있습니다.WebDriver 프로토콜에 투자한다는 것은 웹 표준이 된 테스트를위한 단일, 무료 및 오픈 프로토콜을 베팅하고 있음을 의미합니다. 독점적 인 스택에 자신을 잠그지 마십시오.
예를 들어 Appium이없는 Apple의 Xcuitest 라이브러리를 사용하는 경우 OBJ-C/Swift를 사용하여 테스트 만 쓸 수 있으며 Xcode를 통해서만 테스트를 실행할 수 있습니다. 마찬가지로 Google의 Uiautomator 또는 Espresso를 사용하면 Java/Kotlin에서만 테스트를 작성할 수 있습니다. Appium은 모바일 및 그 이후에 진정한 크로스 플랫폼 네이티브 앱 자동화의 가능성을 열어줍니다!
이것이 무엇인지에 대한보다 포괄적 인 설명을 찾고 있다면 Appium이 어떻게 작동하는지에 대한 문서를 읽으십시오.
Appium에는 후원 프로그램이 있습니다! 귀하 또는 귀하의 회사가 Appium을 사용하고 프로젝트에 재정적으로 돌려주고 자하는 경우, 우리는 이러한 자금을 사용하여 개발 및 기부금을 장려하고 우리가 의존하는 다른 오픈 소스 프로젝트를 지원합니다. OpenCollective 페이지를 통해 스폰서가 되십시오.
Appium은 프로젝트 개발 및 리더십의 지속적인 기여에 대해 개발 및 전략적 파트너에게 대단히 감사합니다!


스폰서 전체 목록은 스폰서 페이지에서 확인할 수 있습니다.
아파치 -2.0
@appium/logger 패키지는 ISC 라이센스에 있습니다.