appium 자동화 2024 - 10) iOS 자동화 연동
App Store > Xcode를 미리 설치해둔다.
> npm i -g appium
앱피움 설치 후,
> appium driver install xcuitest
iOS 자동화 드라이버인 xcuitest 설치
> cd /Users/(사용자명)/.appium/node_modules
위 경로에 driver 설치됨 확인
> appium driver list
해당 명령어로도 확인 가능
> cd /Users/jett.lee/.appium/node_modules/appium-xcuitest-driver/node_modules/appium-webdriveragent
해당 파일에 있는 webdriveragent 활용 예정 > 줄여서 WDA
Android 는 이런 작업이 필요없지만, WDA 빌드 작업 필요
WebDriverAgent.xcodeproj 실행
Xcode > Setting > Accounts > + > 개발자 계정 추가
(계발자 계정이 아니면 1주일 마다 Bundle Identifier 갱신 필요했던걸로 기억)
WebDriverAgentLib 기기 연결 상태 > 아래와 같이 설정 후 재생 버튼 (빌드) 선택
WebDriverAgentRunner 기기 연결 상태 > 아래와 같이 설정 후 재생 버튼 (빌드) 선택
각각 키체인 암호 입력
아직 WDA 아이콘이 미노출되지만, 추후 Appium 실행 시 WDA를 설치해준다.
from appium.options.ios import XCUITestOptions
@pytest.fixture(scope="session")
def driver_ios():
capabilities = dict(
platformName="ios",
automationName='XCUITest',
udid="00008110-00025D6202C3401E" # xctrace list devices 명령어로 확인 가능
)
appium_server_url = 'http://localhost:4723'
driver = appium_webdriver.Remote(appium_server_url,
options=XCUITestOptions().load_capabilities(capabilities))
yield driver
driver.quit()
위 코드 형식으로 자동화 실행 시 WDA 실행되면서 Automation Running 글자가 떠다니면 성공