Giter Site home page Giter Site logo

autobot's Introduction

Screenshot

Tests Deployment status Version License Platform codebeat badge

AUTOBOT

A Tool for QA Testers and Developers.

Testers could create test cases from an admin page while Developers could fetch and execute it inside the XCode's UITesting target via API automatically using CI.

Sample IOS Test Cases

In the screenshot above, the code was executed like this, so imagine, this is Codable, we can just fetch this from any server and/or any file!

func testLogin() {
  let loginCommands:[Command] = [
    .action(.tap, for: .text("emailField")),
    .action(.typeText("[email protected]"), for: .text("emailField")),
    .assert(.isEnabled(true), for: .text("emailField")),
    .assert(.isExists(true), for: .text("emailField")),
    .assert(.textValue("[email protected]"), for: .text("emailField")),
    .action(.tap, for: .securedText("passwordField")),
    .action(.typeText("supersecret"), for: .securedText("passwordField")),
    .assert(.textValue("•••••••••••"), for: .securedText("passwordField")),
    .action(.tap, for: .button("loginButton")),
  ]
  autobot.execute(commands: loginCommands)
}

Since Android has its own UITesting, this can be also implemented in Android SOON! So one test case for multiple platform!

Documentations

  • TODO

Installation

AutoBot is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'AutoBot'

Author

michaelhenry, [email protected]

License

AutoBot is available under the MIT license. See the LICENSE file for more info.

Other tools that might help you too.

  • Localizr, Automates your localization files for iOS and Android
  • Hijackr, Mock your URLRequest

Limitations

  • TODO

autobot's People

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

sungjunapp

autobot's Issues

Assertion

Assertion will be part of Action

Action will be change to Enum Type

enum Action {
case action(ActionType, for: Control)
case assert(Property, for: Control, Comparator)
}

Scenario

A scenario must have:

  • name
  • description
  • an array of command

Take screenshots

As part of ui testing, grabbing screenshots is very important especially in different os versions and localizations.

This is a compelling feature, particularly during parallel testing.

We could save so much time to see an overlook of the whole application.

Proposal Command:

.takeSnaphot

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.