코딩/Mobile 자동화 (new)

appium 자동화 2024 - 10) iOS 자동화 연동

salzzak 2024. 5. 28. 15:52
728x90

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 글자가 떠다니면 성공