Code Monkey home page Code Monkey logo

devtools-driver's Introduction

DevTools Driver

DevTools Driver is a Java framework for creating a WebDriver server implementation for any browser that supports the DevTools Remote Debugging Protocol, including any browser based on the WebKit or Blink browser engines. Implementations for such browsers can be created simply by providing a few relatively simple hook methods, and the framework handles the rest, largely through JavaScript injection of browser automation atoms over DevTools.

This project includes a WebDriver implementation for Mobile Safari on iOS. This implementation, which works for both iOS simulators and real devices, uses the iOS Device Control library to control devices. An example of a web test controlling a remote Mobile Safari Devtools Driver can be found in ExampleMobileSafariWebTest.java.

Installation

  1. Before assembling a runnable jar for a Selenium server, the iOS Device Control dependency has to be installed. This can be done by following the steps outlined here.

  2. The library must then be installed into the local Maven repository:

    git clone https://github.com/google/ios-device-control.git
    cd ios-device-control/
    mvn install
  3. A runnable jar of a Mobile Safari capable Selenium server can be assembled (along with the example provided) by running:

    git clone https://github.com/google/devtools-driver
    cd devtools-driver/
    mvn assembly:assembly
  4. Run the assembled jar found at target/SafariDriverServer-jar-with-dependencies.jar on a Mac:

    # The -simulator flag indicates that all requested WebDriver instances will be of an iOS Simulator. Omit it for real devices
    java -jar SafariDriverServer-jar-with-dependencies.jar -simulator

License

DevTools Driver is licensed under the open-source Apache 2.0 license

Contributing

Please see the guidelines for contributing before creating pull requests

devtools-driver's People

Contributors

cltsd27 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  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.