Automated iOS Screenshot Service
Jamie Douglas, Alexander Baumhoer, Alexander Murphy
Minimize a tedious part of CSA work day so they can focus on more important, impactful work, including program expansion, skill development, and growing client relationships.
Reduce the amount of time it takes to generate updated screenshots so that it's under 17.5 minutes by:
Automating the image-taking process
Making the updates show up in the app more frequently and reliably
"Mini Sprints" 3 hour blocks of work time before meeting
Setting goals and evaluating progress
Display work
Report roadblocks
Alex^2 were working on programming problems while Jamie was meeting with stakeholders and maintaining alignment
Jamie generated documentation
Fastlane CI (Ruby wrapper for Xcode build tools)
Node.js server app to provide webhooks into Fastlane
Server side rendered administration page
Dynamically generated UI tests based on offer ids
AWS S3 storage for completed screenshots
Active Admin integration for offers
AWS Lamda for emailing final screenshots
func testSnapshotForOfferId178786() {
let app = XCUIApplication()
setupSnapshot(app)
let textField = app.children(matching: .window)
.element(boundBy: 0).children(matching: .other)
.element.children(matching: .other)
.element.children(matching: .other)
.element.children(matching: .other)
.element.children(matching: .other)
.element.children(matching: .other)
.element.children(matching: .textField)
textField.element.tap()
textField.element.typeText("offer/178786")
app.buttons[" Route "].tap()
snapshot("178786")
XCUIApplication().scrollViews.children(matching: .other)
.element.children(matching: .other)
.element(boundBy: 0).children(matching: .other)
.element(boundBy: 0).children(matching: .image)
.element.swipeUp()
snapshot("178786_section_two")
}
Â
Final Recommendation: Considering the complexity of this system, we recommend further vetting.
public var questions: [Question]?