iOS UI Testing in Xcode

Post on 14-Jan-2017

468 views 0 download

transcript

iOS UI Testing in Xcode

Mark Changmarkchang@kkbox.com

Test Corner

About Me• Mark Chang

• Testing Engineer in the KKBOX Inc.

• One of contributors in the “Testing with KK” blog.

Overview• Record and Playback

• Test script (Swift or Objective-C)

• Running UI automation testing in iOS

• Code coverage and test reports

Demo 1UI Recording - Record and PlaybackYouTube Link

How does UI automation work ?

Locate the element

Operate the element

Verify the element

ExampleTesting the Add button

// application: let app = XCUIApplication() app.launch()

// element and query: let addButton = app.buttons[“Add”] addButton.tap()

// assertion: XCTAssertEqual(app.tables.cells.count, 1)

ExampleTesting the Add button

// application: let app = XCUIApplication() app.launch()

// element and query: let addButton = app.buttons[“Add”] addButton.tap()

// assertion: XCTAssertEqual(app.tables.cells.count, 1)

ExampleTesting the Add button

// application: let app = XCUIApplication() app.launch()

// element and query: let addButton = app.buttons[“Add”] addButton.tap()

// assertion: XCTAssertEqual(app.tables.cells.count, 1)

ExampleTesting the Add button

// application: let app = XCUIApplication() app.launch()

// element and query: let addButton = app.buttons[“Add”] addButton.tap()

// assertion: XCTAssertEqual(app.tables.cells.count, 1)

Example

// application: let app = XCUIApplication() app.launch()

// element and query: let addButton = app.buttons[“Add”] addButton.tap()

// assertion: XCTAssertEqual(app.tables.cells.count, 1)

Testing the Add button

Example

// application: let app = XCUIApplication() app.launch()

// element and query: let addButton = app.buttons[“Add”] addButton.tap()

// assertion: XCTAssertEqual(app.tables.cells.count, 1)

Testing the Add button

Example

// application: let app = XCUIApplication() app.launch()

// element and query: let addButton = app.buttons[“Add”] addButton.tap()

// assertion: XCTAssertEqual(app.tables.cells.count, 1)

Testing the Add button

Example

// application: let app = XCUIApplication() app.launch()

// element and query: let addButton = app.buttons[“Add”] addButton.tap()

// assertion: XCTAssertEqual(app.tables.cells.count, 1)

Testing the Add button

ExampleTesting the Add button

// application: let app = XCUIApplication() app.launch()

// element and query: let addButton = app.buttons[“Add”] addButton.tap()

// assertion: XCTAssertEqual(app.tables.cells.count, 1)

Demo 2Code coverage and test reportsYouTube Link

For more information please visit

Any Questions ?

Reference• 使⽤ Xcode 執⾏ UI ⾃動化測試 _ 科科和測試

• https://kkboxsqa.wordpress.com/2015/11/09/%E4%BD%BF%E7%94%A8-xcode-%E5%9F%B7%E8%A1%8C-ui-%E8%87%AA%E5%8B%95%E5%8C%96%E6%B8%AC%E8%A9%A6/

• 使⽤ Xcode Server 持續整合建置 _ 科科和測試• https://kkboxsqa.wordpress.com/2015/12/10/xcode-server-continuous-integration/

• UI Testing in Xcode - WWDC 2015 - Videos - Apple Developer• https://developer.apple.com/videos/play/wwdc2015-406/

• UI Testing in Xcode 7 · masilotti.com• http://masilotti.com/ui-testing-xcode-7/

• Xcode 7 UI testing, a first look• http://www.mokacoding.com/blog/xcode-7-ui-testing/

• How do I test this with UI Testing?• https://github.com/joemasilotti/UI-Testing-Cheat-Sheet