관리 메뉴

너와 나의 스토리

Appium 1.x에서 2.x로 변경하기 - 주요 새 기능, 변경 사항 정리 본문

개발

Appium 1.x에서 2.x로 변경하기 - 주요 새 기능, 변경 사항 정리

노는게제일좋아! 2023. 8. 11. 10:47
반응형

Appium 2.0 설치

  • 설치 command
npm install -g appium@2.0.0

 

주요 새 기능

  • Server plugins
    • Appium command 가로채고 수정 가능
    • Appium HTTP 서버 작동 방식을 조정 가능
  • 드라이버 분리
    • UIAutomator2 driver, XCUITest driver, Espresso Driver, 등의 드라이버들과 애피움과의 결합이 분리됨
    • 사용자 정의 드라이버 개발 가능
    • 애피움에서 제공하는 드라이버에 제한받지 않고 사용자 정의 드라이버 개발 가능. (애피움 기능 확장 및 수정 가능)
    • 장점: 서버 자체를 업데이트하지 않고 드라이버를 업그레이드하도록 선택할 수 있다.
  • Configuration Files
    • command-line 매개변수 외에도 설정 파일 지원
    • 포맷은 JSON, JS/CJS, YAML 지원

 

주요 변경 사항

1. Default server base path 변경

  • Appium 1.x: /wd/hub
  • Appium 2.x: /
  • 아래 command로 기존처럼 base path 유지 가능
appium --base-path=/wd/hub

 

2. Driver들 직접 설치 필요

  • Appium 1.x에서는 애피움 서버 설치하면 이용 가능한 드라이버들이 같이 설치되었으나, 이제는 단순히 Appium 2.0만 설치됨.
  • 드라이버들을 설치하기 위해서는 아래 command처럼 Appium extension CLI를 사용하면 된다. 
appium driver install uiautomator2
appium driver install xcuitest@4.12.2
  • 드라이버와 애피움 동시에 설치하는 명령어:
npm install --location=global appium --drivers=xcuitest,uiautomator2
  • 설치하다 실패하면 Appium 1.x npm packages 삭제하기
npm uninstall --location=global appium

 

3. Drivers installation path 변경

  • Appium 1.x: /path/to/appium/node_modules/${driver}
  • Appium 2.x: {APPIUM_HOME}/node_modules/appium-xcuitest-driver/node_modules/${driver}
    • APPIUM_HOME의 default path는 "~/.appium"

 

4. Chromedriver installation flags 변경

  • Appium 1.x에서 Chromedriver 설치 시 flag 설정하는 방법: 
--chromedriver-skip-install
--chromedriver-version
--chromedriver-cdnurl
  • Appium 2.x에서 설치 방법:
APPIUM_SKIP_CHROMEDRIVER_INSTALL
CHROMEDRIVER_VERSION
CHROMEDRIVER_CDNURL
  • 예:
APPIUM_SKIP_CHROMEDRIVER_INSTALL=1 appium driver install uiautomator2

 

5. Capabilities

  • 표준 capabilities는 그대로 사용
  • 그 외의 capabilities는 "vendor prefix"를 분여야 한다.
  • "appium:" 붙이는 걸 추천
  • 예: 
capabilities.setCapability("appium:deviceName", "deviceName");

 

 

출처:

- https://appium.io/docs/en/2.0/guides/migrating-1-to-2/

반응형
Comments