JAMTestHelper 0.0.4

JAMTestHelper 0.0.4

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Jan 2016
SPMSupports SPM

Maintained by Joe Masilotti.


Downloads

Total250
Week0
Month22

Installs

Apps9
Test Targets3
powered by Segment

GitHub

Stars19
Watchers2
Forks5
Issues1
Contributors3
Pull Requests1

Code

Files3
LOCLines of Code 45


Requires Xcode 7.2

A few additions to XCTest geared towards UI Testing in Xcode 7 and iOS 9.

- (void)testLikeButton {
    let button = app.buttons["Like"]

    button.tap()
    waitForActivityIndicatorToFinish()

    let label = app.staticTexts["1 like"]
    waitForElementToExist(label)

    button.tap()
    waitForElementToNotExist(label)
}

Helpers

  • waitForElementToExist() - waits until element.exists is true
  • waitForElementToNotExist() - waits until element.exists is false
  • waitForActivityIndicatorToFinish() - waits until the (assumed) only activity indicator stops animating

Both of these helpers work by ticking the run loop a tenth of a second in between checks. If the element does not meet the condition after two seconds an exception is raised.

Exceptions are used over XCTFail() so the tests' tests, JAMTestHelperTests.swift can run valid assertions. See that file for more details.

Installation

Manual

Clone this repo and drag and drop JAMTestHelper.swift into your UI Testing target. You can then reference the methods inside of an XCTestCase as shown in the example.

Notes

This project was heavily inspired by my write-up on UI Testing and DHTestingAdditions.