GithubHelp home page GithubHelp logo

isabella232 / webdriveragent Goto Github PK

View Code? Open in Web Editor NEW

This project forked from facebookarchive/webdriveragent

0.0 0.0 0.0 15.69 MB

A WebDriver server for iOS that runs inside the Simulator.

License: Other

Objective-C 94.98% Shell 0.71% CSS 0.38% HTML 0.03% JavaScript 3.82% C 0.09%

webdriveragent's Introduction

WebDriverAgent GitHub license Build Status Carthage compatible

WebDriverAgent is a WebDriver server implementation for iOS that can be used to remote control iOS devices. It allows you to launch & kill applications, tap & scroll views or confirm view presence on a screen. This makes it a perfect tool for application end-to-end testing or general purpose device automation. It works by linking XCTest.framework and calling Apple's API to execute commands directly on a device. WebDriverAgent is developed and used at Facebook for end-to-end testing and is successfully adopted by Appium.

Archiving

We are archiving WebDriverAgent. Thanks to the community who have used it! The code will remain here for your future use, but will no longer be actively supported by Facebook.

In May 2019, we open sourced IDB, “iOS Development Bridge”, a command line interface for automating iOS Simulators and Devices. We are currently migrating our own internal projects from WDA to IDB, and suggest checking it out as an alternative.

More information on IDB:

Overview

WebDriverAgent is a WebDriver server implementation for iOS that can be used to remote control iOS devices. It allows you to launch & kill applications, tap & scroll views or confirm view presence on a screen. This makes it a perfect tool for application end-to-end testing or general purpose device automation. It works by linking XCTest.framework and calling Apple's API to execute commands directly on a device. WebDriverAgent was developed and used at Facebook for end-to-end testing and is successfully adopted by Appium.

Features

  • Works with device & simulator
  • Implements most of WebDriver Spec
  • Implements part of Mobile JSON Wire Protocol Spec
  • USB support for devices
  • Inspector endpoint with friendly user interface to inspect current device state
  • Easy development cycle as it can be launched & debugged directly via Xcode
  • Unsupported yet, but works with tvOS & OSX

Demo Video

Getting Started

To get the project set up just run bootstrap script:

./Scripts/bootstrap.sh

It will:

  • fetch all dependencies with Carthage
  • build Inspector bundle using npm

After it is finished you can simply open WebDriverAgent.xcodeproj and start WebDriverAgentRunner test and start sending requests.

More about how to start WebDriverAgent here.

Known Issues

If you are having some issues please checkout wiki first.

For Contributors

If you want to help us out, you are more than welcome to. However please make sure you have followed the guidelines in CONTRIBUTING.

License

WebDriverAgent is BSD-licensed. We also provide an additional patent grant.

Have fun!

webdriveragent's People

Contributors

marekcirkos avatar lawrencelomax avatar jonahss avatar antiarchit avatar imurchie avatar mmmulani avatar matthewhorst avatar zats avatar yaphatak avatar artemevvfb avatar bootstraponline avatar srinivasantarget avatar ssynix avatar rafe-g avatar jaredly avatar qmfrederik avatar adamjernst avatar ziczhu avatar esnyder262 avatar czwuwei avatar chendo avatar zsol avatar wfanforever avatar fr0l avatar sergey-plevako-badoo avatar nghiadhd avatar nsfish avatar michel-slm avatar marciok avatar kazucocoa avatar

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.