GithubHelp home page GithubHelp logo

corbie11 / selenium-ide Goto Github PK

View Code? Open in Web Editor NEW

This project forked from seleniumhq/selenium-ide

0.0 0.0 0.0 31.71 MB

Open Source record and playback test automation for the web.

Home Page: https://selenium.dev/selenium-ide/

License: Apache License 2.0

JavaScript 30.95% Elixir 1.09% TypeScript 63.86% CSS 0.35% HTML 3.33% Starlark 0.43%

selenium-ide's Introduction

Selenium IDE · Build Status

logo

An integrated development environment for Selenium scripts Selenium IDE as an electron application written to enable recording and playback of selenium scripts.

Installation

Installation can be performed in a variety of ways:

  1. Prepackaged binaries will be able to be installed directly (ok not yet, but very soon)
  2. The application can be built manually using the below instructions.

Prepackaged

No binaries are available currently, as we are in the process of obtaining signing certificates. Sorry, my bad.

Building Manually

To build manually, you must have the below prerequisites installed and follow the steps afterward.

Prerequisites

Building

  1. git clone https://github.com/SeleniumHQ/selenium-ide - Clone the IDE repo
  2. cd selenium-ide - Navigate into the IDE folder
  3. pnpm -r i - Install dependencies
  4. pnpm run build - Build the app
  5. pnpm run start - Run the app

What now?

Here's a draft of the general tasks ahead. Feel free to pitch in and announce which you wish to take upon yourself:

  • Selectors accuracy - an option is ranking selectors - we can optimize selectors correctness and test stability by collecting as many attributes as we can per user event. The most likely properties will be used for the selectors, with fallback to the others.
  • Intelligent editing
  • Export to selenium code in different languages

Contributing

If you'd like to contribute to the codebase, start by building manually using the above commands. The below tips are meant to assist you as well.

  • If you'd like to iterate more quickly, yarn watch will facilitate near-realtime rebuilding for rapid iteration (make change -> yarn start -> test change)
  • To activate the devtools on an page, CommandOrControl+F12 or CommandOrControl+Option+I will open the devtools. For your convenience, the React Developer Tools are pre-installed in the electron environment.
  • VSCode has a defined workspace structure and run command, as well as file mappings to allow for breakpoints to work across sourcemaps for the main process.
  • The chrome dev tools are available at localhost:8315 to use if the inline devtools are not enough, although I'd highly advocate for the in window dev tools, since they have the React Developer Tools installed as well.

Questions or want to chat?

If you have questions, check out our FAQ.

You can also find us on the #selenium IRC channel, which is also available on Slack.

Architecture

The codebase is javascript, and relies heavily on the NodeJS, Electron, and React ecosystem. This is a collection of packages arranged in a monorepo config. Excepting the code-export packages, which are fully untyped, these packages are fully typed using Typescript.

Packages

These are the main packages. They're used to run the thing:

  • selenium-ide: Main Electron app. Built with webpack, react frontend. Communicates via the IPC protocols.

  • side-runner: NodeJS Task Runner. Built with typescript.

  • side-cli: Experimental cli using react and ink.

  • side-runtime: Playback system wrapper. Takes side files and executes them. Used by both selenium-ide and side-runner.

  • side-api: This is the api shape of selenium-ide. This is intended to be used to help share the api types with plugins in a lower footprint way.

  • side-model: This is used to provide metadata around the standard commands and argument types.

  • side-commons: This is like the typical utils/helpers folder, except meant to be shared across packages instead of just folders.

  • side-code-export: NodeJS transpiler for .side files. Used to export to other languages (csharp, java, javascript, python, ruby).

  • code-export-*: Code export format for various languages

selenium-ide's People

Contributors

corevo avatar toddtarsi avatar baimao8437 avatar coinzdude avatar jongkeun avatar petermouse avatar zavelevsky avatar linyunwen avatar dependabot[bot] avatar automatedtester avatar xdennisx avatar raju249 avatar smildlzj avatar diemol avatar manoj9788 avatar rowdster avatar zewa666 avatar shs96c avatar toshiya avatar meir017 avatar lukeis avatar giuliohome avatar angus3280 avatar peter-kehl avatar bolasblack avatar vivrichards600 avatar swes1117 avatar harsha509 avatar samitbadle avatar sotayamashita 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.