All Projects → SAP → Ui5 Uiveri5

SAP / Ui5 Uiveri5

Licence: other
End-to-end testing framework for SAPUI5

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Ui5 Uiveri5

Raisincss
An Utility CSS only library. It supports css grid and many more useful css properties.
Stars: ✭ 93 (-7%)
Mutual labels:  open-source
Avideo
Create Your Own Broadcast Network With AVideo Platform Open-Source. OAVP OVP
Stars: ✭ 1,329 (+1229%)
Mutual labels:  open-source
Piwigo
Manage your photos with Piwigo, a full featured open source photo gallery application for the web. Star us on Github! More than 200 plugins and themes available. Join us and contribute!
Stars: ✭ 1,346 (+1246%)
Mutual labels:  open-source
Python Pyodata
Enterprise-ready Python OData client
Stars: ✭ 93 (-7%)
Mutual labels:  open-source
Plug
macOS app for Hype Machine
Stars: ✭ 93 (-7%)
Mutual labels:  open-source
Formcreator
GLPI Plugin Formcreator (DOWNLOAD : https://github.com/pluginsGLPI/formcreator/releases)
Stars: ✭ 95 (-5%)
Mutual labels:  open-source
Adoptoposs
Finding co-maintainers for your open source software project.
Stars: ✭ 93 (-7%)
Mutual labels:  open-source
Iglance
Free system monitor for OSX and macOS. See all system information at a glance in the menu bar.
Stars: ✭ 1,358 (+1258%)
Mutual labels:  open-source
Browser Phone
A fully featured browser based WebRTC SIP phone for Asterisk
Stars: ✭ 95 (-5%)
Mutual labels:  open-source
Keylogger
🔐 Open Source Python Keylogger Collection
Stars: ✭ 97 (-3%)
Mutual labels:  open-source
Absolutebeginnerprojects
A repo for brand new devs who are looking for great real-world fundamental practice projects
Stars: ✭ 93 (-7%)
Mutual labels:  open-source
Webots
Webots Robot Simulator
Stars: ✭ 1,324 (+1224%)
Mutual labels:  open-source
Opensource Job Portal
opensource jobportal in python django
Stars: ✭ 95 (-5%)
Mutual labels:  open-source
Unchained
Headless & open-source e-commerce toolkit. The Unchained Engine is our core product and is written in Node.js ES6
Stars: ✭ 92 (-8%)
Mutual labels:  open-source
Covid19 scenarios
Models of COVID-19 outbreak trajectories and hospital demand
Stars: ✭ 1,355 (+1255%)
Mutual labels:  open-source
Openvtuberproject
Open Vtuber project containing all sub projects
Stars: ✭ 93 (-7%)
Mutual labels:  open-source
Rox
🌍 BeWelcome lets you share a place to stay, connect with travellers, meet up and find accommodation on your journey. It is and will always be a free, open source, non for profit, democratic community.
Stars: ✭ 95 (-5%)
Mutual labels:  open-source
Opendiablo2
An open source re-implementation of Diablo 2
Stars: ✭ 10,057 (+9957%)
Mutual labels:  open-source
Fetch ros
Open ROS Components for Robots from Fetch Robotics
Stars: ✭ 99 (-1%)
Mutual labels:  open-source
Kaizen Openapi Editor
Eclipse Editor for the Swagger-OpenAPI Description Language
Stars: ✭ 97 (-3%)
Mutual labels:  open-source

openui5

What is it

UIVeri5 is an E2E testing framework for UI5-based applications. It uses WebDriverJS to drive a real browser and interacts with your application as a real user would. UIVeri5 is heavily inspired by Protractor and brings most (and more) of its benefits to UI5 applications.

REUSE status

Benefits

  • Automatic synchronization with UI5 app rendering so there is no need to add waits and sleeps to your test. Tests are reliable by design.
  • Tests are written in synchronous manner, no callbacks, no promise chaining so are really simple to write and maintain.
  • Full power of webdriverjs, protractor and jasmine - deferred selectors, custom matchers, custom locators.
  • Control locators (OPA5 declarative matchers) allow locating and interacting with UI5 controls.
  • Does not depend on testability support in applications - works with autorefreshing views, resizing elements, animated transitions.
  • Declarative authentications - authentication flow over OAuth2 providers, etc.
  • Console operation, CI ready, fully configurable or IDE.
  • Covers full UI5 browser matrix: Chrome, Firefox, IE, Edge, Safari, iOS, Android.
  • Works with browser cloud provider like SauseLabs
  • Use generated snippets from Test Recorder that is build-in every UI5 app (from UI5 1.74)
  • Open-source, fork and modify to fit your specific neeeds.

Requirements

  • NodeJS, version 8.0 or higher

Configuration

UIVeri5 accepts a declarative configuration in a conf.js file. Configuration could be overriten with command-line arguments. All configuration options are explained in Configuration

Installation

Install globally:

$ npm install @ui5/uiveri5 -g

Usage

Create a test

Create a clean folder that will contain your test and configuration files. UIVeri5 uses Jasmine as a test runner so the test resides in a spec.js file. Put the declarative configuration in the conf.js file.

  • conf.js
exports.config = {
  profile: 'integration',

  baseUrl: 'https://openui5.hana.ondemand.com/test-resources/sap/m/demokit/master-detail/webapp/test/mockServer.html',
};
  • masterdetail.spec.js
describe('masterdetail', function () {

  it('should load the app',function() {
    expect(browser.getTitle()).toBe('Master-Detail');
  });

  it('should display the details screen',function() {
    element(by.control({
      viewName: 'sap.ui.demo.masterdetail.view.Master',
      controlType: 'sap.m.ObjectListItem',
      properties: {
        title: 'Object 11'
      }}))
    .click();
  });

  it('should validate line items',function() {
    expect(element.all(by.control({
      viewName: 'sap.ui.demo.masterdetail.view.Detail',
      controlType:'sap.m.ColumnListItem'}))
    .count()).toBe(2);
  });
});

Run the test

Open console in the test folder and execute:

$ uiveri5

You will see the test execution in the console and an overview when the test completes. Check the target folder for a visual report with screenshots.

Usage hints

By default uiveri5 will discover all tests in current folder and execute them on localy started Chrome. All of those defaults could be modified either in conf.js or by providing command-line arguments.

  • Specify non-default config file
$uiveri5 ci-conf.js
  • Enable verbose logging
$uiveri5 -v
  • Run tests on different browser
$uiveri5 --browsers=firefox
  • Run tests against app deployed on a specific system
$uiveri5 --baseUrl="http://<host>:<port>/app"
  • Run tests against a remote selenium server
$uiveri5 --seleniumAddress="<host>:<port>/wd/hub"

Learn more

Learn how to build your tests in our Testing Guide.

Support

If you face a problem, please check our list of common issues. If you think you found a bug, please create a new github issue. If you have a question, please ask on StackOverflow.

Known Bugs

No major bugs known.

Release plan

See how we plan to continue in our TODO .

Related projects

Here we gather few projects that build on UIVeri5 and tailor it for specific usecases.

  • Docker container with UIVeri5, Chrome, Jenkins: Link

Automatic Downloads

By default, when running locally, UIVeri5 downloads selenium.jar and/or the respective webdrivers - chromedriver, geckodriver from their official locations. You can disable the downloading or change the locations in profile.conf.js. When using --seleniumAddress, nothing is downloaded.

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