All Projects → sakuli → sakuli

sakuli / sakuli

Licence: Apache-2.0 license
Version 2 of Sakuli E2E-Testing and Monitoring Platform.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to sakuli

testcafe-snippets
Code snippets for TestCafe
Stars: ✭ 54 (+28.57%)
Mutual labels:  e2e-testing
testcafe-reporter-cucumber-json
TestCafe reporter to generate json in cucumber format
Stars: ✭ 18 (-57.14%)
Mutual labels:  e2e-monitoring
Qawolf
🐺 Create browser tests 10x faster
Stars: ✭ 2,912 (+6833.33%)
Mutual labels:  e2e-testing
Panther
A browser testing and web crawling library for PHP and Symfony
Stars: ✭ 2,480 (+5804.76%)
Mutual labels:  e2e-testing
Seleniumbase
A Python framework that inspires developers to become better test automation engineers. 🧠💡
Stars: ✭ 2,520 (+5900%)
Mutual labels:  e2e-testing
Cypress
Fast, easy and reliable testing for anything that runs in a browser.
Stars: ✭ 35,145 (+83578.57%)
Mutual labels:  e2e-testing
Playwright
Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.
Stars: ✭ 31,513 (+74930.95%)
Mutual labels:  e2e-testing
last-hit
puppeteer UI automation test tools, record once, run everywhere, bringing you a comprehensive and enjoyable automation experience
Stars: ✭ 29 (-30.95%)
Mutual labels:  e2e-testing
cypress-auto-stub-example
Example project to demonstrate how to record/replay API with Cypress.
Stars: ✭ 52 (+23.81%)
Mutual labels:  e2e-testing
babel-plugin-remove-test-ids
🐠 Babel plugin to strip `data-test-id` HTML attributes
Stars: ✭ 40 (-4.76%)
Mutual labels:  e2e-testing
cypress-plugin-stripe-elements
A small Cypress plugin that assists you in filling in Stripe Elements inputs
Stars: ✭ 22 (-47.62%)
Mutual labels:  e2e-testing
pactum
REST API Testing Tool for all levels in a Test Pyramid
Stars: ✭ 190 (+352.38%)
Mutual labels:  e2e-testing
three-musketeers
A simple module to introspect, debug and test any THREE.js application.
Stars: ✭ 30 (-28.57%)
Mutual labels:  e2e-testing
software-testing-resource-pack
Various files useful for manual testing and test automation etc.
Stars: ✭ 38 (-9.52%)
Mutual labels:  e2e-testing
cypress-upload-file-post-form
Solution for two Cypress testing use-cases I came across with: perform a direct http FORM request to the server containing a file and other parameters and upload a file into a form before submission
Stars: ✭ 59 (+40.48%)
Mutual labels:  e2e-testing
quasar-testing
Testing Harness App Extensions for the Quasar Framework 1.0+
Stars: ✭ 142 (+238.1%)
Mutual labels:  e2e-testing
odoo-cypress
Odoo Framework E2E Testing using Cypress
Stars: ✭ 19 (-54.76%)
Mutual labels:  e2e-testing
protractor-helper
Write robust and flakiness-free tests with Protractor.
Stars: ✭ 43 (+2.38%)
Mutual labels:  e2e-testing
lisa
LISA is developed and maintained by Microsoft, to empower Linux validation.
Stars: ✭ 110 (+161.9%)
Mutual labels:  e2e-testing
native
React UI Kit Native
Stars: ✭ 34 (-19.05%)
Mutual labels:  native-ui

Sakuli2

Build Status Quality Gate Status Coverage

Why Sakuli 2?

In the past, we encountered a lot of issues with the architecture of Sakuli. But first and foremost the inactive development of Sahi and its deep integration into Sakuli was one of the main reasons to rethink our technology stack.

So we decide to create a brand-new platform which allows users to test and monitor their systems and developers to extend the platform to their own needs.

What is the new Stack of Sakuli2?

We started to make a complete core code rewrite based on NodeJs and Typescript.

  • Node.js because we wanted the same language for our platform and testcases (Sakuli was written in Java while testcases where executed in a modified version of RhinoJs-Engine)
  • Typescript to provide clear interfaces for third-party devs.

We also replaced the engines for web- and native checks:

  • Sahi is replaced by Webdriver / Selenium
  • Sikuli is replaced by nut.js

while we try our best to keep the sakuli api backwards compatible.

What can I expect from Sakuli2...

...as a user / tester

Expect the full power of Sakuli, which means testing and monitoring systems either in web or native.

...as a developer

Use the full power of typescript, nodejs and their corresponding ecosystems.

Installation

Please refer to the Sakuli website and the Getting Started guide for installation instructions.

Development

Workstation

To start developing Sakuli 2 some setup on your workstation is required.

  • Make sure to have the active LTS version (v12) of node installed.
  • Make sure to have docker installed and started
  • Make sure to execute docker pull selenium/standalone-chrome-debug before you start developing.

Building the Project

In some situations, it is necessary to build/rebuild the sources (e.g. after changing branches) to create a consistent state in the project.

To do so, please use npm run rebuild

Executing the current state of Sakuli

During development, you might want to test the overall behavior of Sakuli from a developers' perspective. Therefore, we created a packages/integration-tests module containing a Sakuli project using Sakuli at the current state of the repository.

Build and execute Sakuli as it is in the current state of the repository:

npm run rebuild
cd packages/integration-tests
npx sakuli

This step has to be done after every code change so that the changes take place in the prepared Sakuli environment.

Updating dependencies

Long story short: npm run update

As this is a multi-module project using lerna, dependency updates have to be consistent for the whole project. To achieve this, we use the lerna-update-wizard and added the npm script npm run update.

Pre-commit Hooks

We are using Prettier as an opinionated code formatter in combination with husky for the pre-commit hook. If you are using a node version manager, make sure to create ~/.huskyrc with the following content:

# ~/.huskyrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
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].