don't stop believing

Appium iOS inspector 실행 본문

Testing Automation/Appium

Appium iOS inspector 실행

Tongchun 2017. 10. 25. 17:38

Appium 서버를 구성했다면 App을 Simulator에서 실행시키고 각 element들을 확인해 봅시다.

먼저 appium-doctor로 ios 구성 요소가 모두 설치되었는지 확인합니다.

$ appium-doctor --ios
info AppiumDoctor Appium Doctor v.1.4.3
info AppiumDoctor ### Diagnostic starting ###
info AppiumDoctor  ✔ The Node.js binary was found at: /usr/local/bin/node
info AppiumDoctor  ✔ Node version is 6.11.4
info AppiumDoctor  ✔ Xcode is installed at: /Applications/Xcode.app/Contents/Developer
info AppiumDoctor  ✔ Xcode Command Line Tools are installed.
info AppiumDoctor  ✔ DevToolsSecurity is enabled.
info AppiumDoctor  ✔ The Authorization DB is set up properly.
info AppiumDoctor  ✔ Carthage was found at: /usr/local/bin/carthage
info AppiumDoctor  ✔ HOME is set to: /Users/appium
info AppiumDoctor ### Diagnostic completed, no fix needed. ###
info AppiumDoctor
info AppiumDoctor Everything looks good, bye!
info AppiumDoctor


iOS App을 실행시키려면 대상 App에 대한 Xcode Project가 필요합니다.

해당 App에 대한 Xcode 빌드경로를 확인합니다. 보통 아래 경로에 존재하게 됩니다.

/Users/{Mac Account}/Library/Developer/Xcode/DerivedData/{your app}/Build/Products/{Debug Path}/{Project Name}.app

만약 Mac에서 Simulator로 빌드할 경우 {Debug Path}는 Debug-iphonesimulator로 하고, Device에 빌드할 경우 Debug-iphoneos를 확인하면 됩니다.


Appium을 실행시킵니다.

다운받은 Mac용 Appium zip 파일은 압축을 풀고 Applications폴더로 이동시켜야 합니다. 그렇지 않으면 Permission Error가 날 수 있습니다.

[https://github.com/appium/appium-desktop/releases]


Applications 또는 Launchpad에서 Appium을 클릭하면 아래와같이 실행됩니다.

바로 Start Server를 클릭합니다.

Advanced 설정은 다음에 설정하겠습니다.

Inspector를 실행시키려면 우측 상단의 돋보기 모양의 아이콘을 클립합니다.

Inspector의 Session을 시작하려면 Desired Capabilities를 추가해야 합니다.

자세한 사항은 아래 url에서 확인 할 수 있습니다.

[https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md]


먼저 Simulator로 실행할 경우 아래와 같이 추가하면 됩니다.

{
  "platformName": "ios",
  "platformVersion": "11.0",
  "deviceName": "iPhone Simulator",
  "app": "/Users/appium/Library/Developer/Xcode/DerivedData/KakaogameSDK-bnvgatarftnecwavogmphmwloioo/Build/Products/Debug-iphonesimulator/KakaogameSDK.app",
  "automationName": "XCUITest",
  "noReset": true,
  "newCommandTimeout": "7200"
}

json 형식에 맞게 각 항목을 추가해 줍니다.

그리고 Start Session 버튼을 클릭합니다.

그럼 appium 서버가 실행되면서 Simulator를 실행합니다. 그리고 Inspector 창이 뜨게 됩니다.


Inspector의 왼쪽 창에는 App 화면이 출력됩니다. 가운데와 오른쪽 창에는 선택한 element의 속성이 나오게 됩니다..


이제 Real Device에 실행해 보겠습니다.

Appium의 실행은 앞서 설명한 것과 동일하며 Desired Capabilities를 real device에 맞게 변경하면 됩니다.


먼저 app 경로를 확인하겠습니다.

 Device로 빌드할 경우 Debug Path가 Simulator로 할때라 다릅니다. 보통 Debug-iphoneos에 생성됩니다.

/Users/{Mac Account}/Library/Developer/Xcode/DerivedData/{your app}/Build/Products/{Debug Path}/{Project Name}.app

{
  "platformName": "ios",
  "platformVersion": "11.0",
  "deviceName": "iPhone 6",
  "automationName": "XCUITest",
  "noReset": true,
  "newCommandTimeout": 7200,
  "bundleId": "com.ngle.kakaogame.sdk",
  "udid": "73439839ee3db7b59fcdd8bc3aa8cc4862006b7b",
  "app": "/Users/appium/Library/Developer/Xcode/DerivedData/KakaogameSDK-bnvgatarftnecwavogmphmwloioo/Build/Products/Debug-iphoneos/KakaogameSDK.app",
  "xcodeOrgId": "WVC7779982",
  "xcodeSigningId": "iPhone Developer"
}

Simulator와 비교해 추가되는 부분은 bundleId, udid, xcodeOrgId, xcodeSigningId 입니다.

  • bundleId: 실행하려는 App Bundle ID 입니다.
  • udid: 실행하려는 실제 디바이스의 udid입니다.
  • xCodeOrgId: Apple Team 계정입니다.
  • xcodeSigningId: "iPhone Developer"로 입력합니다.
실행하려는 Device를 USB로 연결하고 Start Session을 클릭합니다.
그러면 Device에 WebDriverAgent가 설치된 후 대상 App이 실행됩니다.

Appium Inspector의 화면 구성은 동일합니다.


Comments