Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Xcode 11におけるXCUITestの挙動

1,254 views

Published on

The talk was about Appium/XCUITest stuff I faced in Appium development, but corresponding to XC(UI)Test x Xcode 11at https://testnight.connpass.com/event/155429/

Published in: Software
  • Be the first to comment

  • Be the first to like this

Xcode 11におけるXCUITestの挙動

  1. 1. Xcode 11 XCUITest Android/iOS Test Night - 2019
  2. 2. • • HeadSpin, Inc. • Senior Software Engineer, Device Automation • : ex-cookpad, ACCESS • Test/QA/Software Engineer • OSS • Appium
  3. 3. iOS
  4. 4. • XCUITest( Xcode 11 ) • iOS 13 XCUITest • XCUITest/iOS 13 • Appium XCUITest
  5. 5. • • https://github.com/appium/appium/issues/13455 • • Appium/XCUITest 1 5 • Appium: • find_element(:name, ‘something’).type ‘happy testing’ • XCUITest: • XCUIApplication().textFields[“something”].typeText(“happy testing”) • https://gist.github.com/KazuCocoa/e90738298d8409bb0acbf44720a44f0b
  6. 6. • XCUIElementTypeWebView https://github.com/appium/appium/issues/13455 Dummy
  7. 7. • UIWebView WKWebView ( ) • https://developer.apple.com/ documentation/uikit/uiwebview
  8. 8. XCUIElement/XCUIElementQuery
  9. 9. XCUIElement/XCUIElementQuery • • https://github.com/appium/appium/issues/13227 • • iOS 13(or Xcode 11) XCTest
  10. 10. • Xcode 11 • Xcode 10.x
  11. 11. XCUITest
  12. 12. XCUITest • • https://github.com/appium/appium/issues/13288 • • Appium XML • • XCUIElementTypeOther • XCUIElement accessibility identifier XCTest
  13. 13. : iOS 12 iOS 13 <?xml version="1.0" encoding=“UTF-8"?> <AppiumAUT> <XCUIElementTypeApplication type="XCUIElementTypeApplication" name="app" label=“app" enabled="true" visible="true" x="0" y="0" width="375" height="667"> <XCUIElementTypeWindow type="XCUIElementTypeWindow" enabled="true" visible="true" x="0" y="0" width="375" height="667"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" x="0" y="0" width="375" height="667"> <XCUIElementTypeOther type="XCUIElementTypeOther" name="1100" enabled="true" visible="true" x="0" y="0" width="375" <XCUIElementTypeScrollView type="XCUIElementTypeScrollView" name="1120" enabled="true" visible="true" x="0" y="0" width=“375… <XCUIElementTypeOther type="XCUIElementTypeOther" name="1121" enabled="true" visible="true" x="0" y="0" width="375" <XCUIElementTypeImage type="XCUIElementTypeImage" name="1122" enabled="true" visible="false" x="87" y="271" width=“201… <XCUIElementTypeImage type="XCUIElementTypeImage" name="1123" enabled="true" visible="false" x="37" y="329" width=“301… </XCUIElementTypeOther> </XCUIElementTypeScrollView> <XCUIElementTypeImage type="XCUIElementTypeImage" name="pre_reg_featured_profile" enabled="true" visible="false" x="498" <XCUIElementTypeOther type="XCUIElementTypeOther" value="page 1 of 4" enabled="true" visible="true" x="138" y="475" width=“99… <XCUIElementTypeButton type="XCUIElementTypeButton" name="1101" label="Join now" enabled="true" visible="true" x="30" y=“517… <XCUIElementTypeButton type="XCUIElementTypeButton" name="join_with_google_button" label="Join with Google" enabled=“true… <XCUIElementTypeButton type="XCUIElementTypeButton" name="601" label="Sign in" enabled="true" visible="true" x="30" y="617" </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeWindow> <XCUIElementTypeWindow type="XCUIElementTypeWindow" enabled="true" visible="false" x="0" y="0" width="375" height="667"> <XCUIElementTypeStatusBar type="XCUIElementTypeStatusBar" enabled="true" visible="false" x="0" y="0" width="375" height="20"/> </XCUIElementTypeWindow> </XCUIElementTypeApplication> </AppiumAUT> <?xml version="1.0" encoding="UTF-8"?> <AppiumAUT> <XCUIElementTypeApplication type="XCUIElementTypeApplication" enabled="true" visible="false" x="0" y="0" width="320" height="568"> <XCUIElementTypeWindow type="XCUIElementTypeWindow" enabled="true" visible="true" x="0" y="0" width="320" height="568"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" x="0" y="0" width="320" height="568"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" x="0" y="0" width="320" height="568" name="1100"> <XCUIElementTypeScrollView type="XCUIElementTypeScrollView" enabled="true" visible="true" x="0" y="0" width="320" height="568" name="1120"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" x="0" y="0" width="320" height="568" name="1121"> <XCUIElementTypeImage type="XCUIElementTypeImage" enabled="true" visible="false" x="60" y="222" width="200" height="48" name="1122"> </XCUIElementTypeImage> <XCUIElementTypeImage type="XCUIElementTypeImage" enabled="true" visible="false" x="10" y="280" width="300" height="60" name="1123"> </XCUIElementTypeImage> </XCUIElementTypeOther> </XCUIElementTypeScrollView> <XCUIElementTypeImage type="XCUIElementTypeImage" enabled="true" visible="false" x="416" y="120" width="128" height="129"> </XCUIElementTypeImage> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" x="111" y="372" width="98" height="38" name="Page Control" </ <XCUIElementTypeButton type="XCUIElementTypeButton" enabled="true" visible="true" x="30" y="418" width="260" height="40" name="1101" label="Join <XCUIElementTypeStaticText type="XCUIElementTypeStaticText" enabled="true" visible="true" x="126" y="428" width="68" height="20" name="Join now… </XCUIElementTypeStaticText> </XCUIElementTypeButton> <XCUIElementTypeButton type="XCUIElementTypeButton" enabled="true" visible="true" x="30" y="470" width="260" height="40" <XCUIElementTypeStaticText type="XCUIElementTypeStaticText" enabled="true" visible="true" x="106" y="480" width="126" height="20" name="Join with </XCUIElementTypeStaticText> </XCUIElementTypeButton> <XCUIElementTypeButton type="XCUIElementTypeButton" enabled="true" visible="true" x="30" y="518" width="260" height="40" name="601" label="Sign <XCUIElementTypeStaticText type="XCUIElementTypeStaticText" enabled="true" visible="true" x="134" y="528" width="52" height="20" name="Sign in" </XCUIElementTypeStaticText> </XCUIElementTypeButton> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeWindow> <XCUIElementTypeWindow type="XCUIElementTypeWindow" enabled="true" visible="false" x="0" y="0" width="320" height="568"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" x="0" y="0" width="320" height="568"> <XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" x="0" y="0" width="320" height="568"> </XCUIElementTypeOther> </XCUIElementTypeOther> </XCUIElementTypeWindow> </XCUIElementTypeApplication> </AppiumAUT> iOS12 iOS13
  14. 14. Xcode 11 iOS 12
  15. 15. Xcode 11 iOS 12 • • https://github.com/appium/appium/issues/13288 • • XCUIElementTypeTextField • TextField • Xcode 11 iOS 13 Xcode 10.3 iOS 12
  16. 16. • Xcode 10 iOS 12 XCUITest • Xcode 11.2.1
  17. 17. • XCTest bundleid .xctrunner • Xcode 10.3 com.apple.test.WebDriverAgentRunner-Runner com.apple.test • Xcode 11 com.facebook.WebDriverAgentRunner.xctrunner • BundleId com.facebook.WebDriverAgentRunner •
  18. 18. email: kazucocoa1117@gmail.com Twitter: @Kazu_cocoa

×