ios ui testing in xcode
TRANSCRIPT
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