All Projects → PGSSoft → AutoMate-AppBuddy

PGSSoft / AutoMate-AppBuddy

Licence: MIT license
iOS UI automation tests helper framework, designed to work with the AutoMate

Programming Languages

swift
15916 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to AutoMate-AppBuddy

dtx codec
A golang based Apple DTX implementation. So you can run on real iOS devices: XCUITests, get CPU metrics, launch and kill apps from any OS without the need for expensive Apple hardware :-)
Stars: ✭ 25 (-19.35%)
Mutual labels:  xctest, xcuitest
Peasy
A pure Swift mock server for embedding and running directly within iOS/macOS UI tests. Easy peasy.
Stars: ✭ 32 (+3.23%)
Mutual labels:  xctest, xcuitest
Quiz App
A repository reflecting the progress made on the "How to Build iOS Apps with Swift, TDD & Clean Architecture" YouTube series, by Caio & Mike.
Stars: ✭ 230 (+641.94%)
Mutual labels:  swift-framework, xctest
SimpleIOSCalculator
Simple iOS Calculator
Stars: ✭ 16 (-48.39%)
Mutual labels:  xctest, xcuitest
Ui Testing Cheat Sheet
How do I test this with UI Testing?
Stars: ✭ 2,039 (+6477.42%)
Mutual labels:  xctest, xcuitest
Bookstore Ios
 Sample iOS App - A collection of examples and patterns for Unit Testing, UI Testing, handling Result/Optionals, writing documentation, and more. Details in README.
Stars: ✭ 147 (+374.19%)
Mutual labels:  swift-framework, xctest
Automate
Swift framework containing a set of helpful XCTest extensions for writing UI automation tests
Stars: ✭ 244 (+687.1%)
Mutual labels:  swift-framework, xctest
FormToolbar
Simple, movable and powerful toolbar for UITextField and UITextView.
Stars: ✭ 85 (+174.19%)
Mutual labels:  swift-framework
PocoService.apk
Android uiautomation poco-sdk implementation
Stars: ✭ 29 (-6.45%)
Mutual labels:  uiautomation
pipeline
A Swift framework for working with Final Cut Pro X FCPXML files easily.
Stars: ✭ 47 (+51.61%)
Mutual labels:  swift-framework
xctest-dynamic-overlay
Define XCTest assertion helpers directly in your application and library code.
Stars: ✭ 138 (+345.16%)
Mutual labels:  xctest
ios-ui-automation-overview
An overview of popular iOS UI testing solutions.
Stars: ✭ 23 (-25.81%)
Mutual labels:  xctest
NotchToolkit
Use the iPhone X notch in creative ways 👩‍🎨👨‍🎨.
Stars: ✭ 55 (+77.42%)
Mutual labels:  swift-framework
YMFF
Feature management made easy.
Stars: ✭ 26 (-16.13%)
Mutual labels:  swift-framework
appium-mac2-driver
Next-gen Appium macOS driver, backed by Apple XCTest
Stars: ✭ 55 (+77.42%)
Mutual labels:  xctest
BiometricAutomationDemo
Dependency free iOS biometric automation example.
Stars: ✭ 53 (+70.97%)
Mutual labels:  xctest
MicroExpress
A micro web server framework on top of Swift NIO
Stars: ✭ 125 (+303.23%)
Mutual labels:  swift-framework
Tablier
A micro-framework for Table Driven Tests.
Stars: ✭ 33 (+6.45%)
Mutual labels:  xctest
EquationKit
Equations in Swift
Stars: ✭ 39 (+25.81%)
Mutual labels:  swift-framework
go-ios
This is an operating system independent implementation of iOS device features. You can run UI tests, launch or kill apps, install apps etc. with it.
Stars: ✭ 415 (+1238.71%)
Mutual labels:  xcuitest
AutoMate, made by PGS Software

AutoMateAppBuddyTemplatesModelGenie

AutoMate AppBuddy

AppBuddy is a helper framework for UI automation tests, designed to work with the AutoMate. It can disable animations in the application and manage events, reminders and contacts.

Swift 5 Travis CocoaPods Compatible Documentation Carthage Compatible Platform License

Installation

CocoaPods

The most convenient way to install it is by using CocoaPods with Podfile:

pod 'AutoMate-AppBuddy'

Carthage

For Carthage Carthage add a line to Cartfile.private:

github "PGSSoft/AutoMate-AppBuddy"

Cartfile.private should be used because AutoMate framework will be used by UI Tests target only not by the tested application.

Swift Package Manager

You can just add AutoMate AppBuddy package to your project by entering it's repository URL

https://github.com/PGSSoft/AutoMate-AppBuddy

Note

AppBuddy should be linked with target application, not with the test target.

Usage

Full documentation is available at https://pgssoft.github.io/AutoMate-AppBuddy/.

  1. Duplicate existing application target.

  2. Import AutoMate_AppBuddy framework to app delegate.

    import AutoMate_AppBuddy
  3. Setup LaunchEnvironmentManager in application(_:didFinishLaunchingWithOptions:).

    let launchEnvironmentManager = LaunchEnvironmentManager()
    launchEnvironmentManager.add(handler: defaultEventKitHander, for: .events)
    launchEnvironmentManager.add(handler: defaultEventKitHander, for: .reminders)
    launchEnvironmentManager.add(handler: defaultContactsHander, for: .contacts)
    launchEnvironmentManager.add(handler: defaultIsInUITestHandler, for: .isInUITest)
    launchEnvironmentManager.add(handler: AnimationHandler(), for: .animation)
    launchEnvironmentManager.setup()

Features (or ToDo)

  • Disable UIView animations
  • Managing events, reminders and contacts
  • Two way communication
  • Stubbing network requests
  • Stubbing contacts, events and reminders
  • Stubbing notifications
  • Taking screenshots
  • Clearing application data
  • Simulating push notifications

Example application

AutoMate repository contains example application under AutoMateExample directory. Structure of the application is simple, but the project contains extensive suite of UI tests to showcase capabilities of the library.

Development

Full documentation is available at https://pgssoft.github.io/AutoMate-AppBuddy/.

If you want to handle your custom launch environments, you have to implement Handler protocol, e.g.

struct CustomHandler: Handler {
    func handle(key: String, value: String) {
        if value == "production" {

        }
    }
}

launchEnvironmentManager.add(handler: CustomHandler(), for: "SERVER")

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/PGSSoft/AutoMate-AppBuddy.

License

The project is available as open source under the terms of the MIT License.

About

The project maintained by software development agency PGS Software. See our other open-source projects or contact us to develop your product.

Follow us

Twitter URL
Twitter Follow

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].