UIVeri5 is deprecated and won’t be developed any further. Tests using UIVeri5 will continue to work in the foreseeable future. If you are looking for an alternative, you may consider: WDIO + WDI5
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.
UIVeri5 accepts a declarative configuration in a conf.js file. Configuration can be overridden with command-line arguments. All configuration options are explained in Configuration
Install globally:
$ npm install @ui5/uiveri5 -g
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);
});
});
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.
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.
$uiveri5 ci-conf.js
$uiveri5 -v
$uiveri5 --browsers=firefox
$uiveri5 --baseUrl="http://<host>:<port>/app"
$uiveri5 --seleniumAddress="<host>:<port>/wd/hub"
Learn how to build your tests in our Testing Guide.
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.
No major bugs known.
See how we plan to continue in our TODO .
Here we gather few projects that build on UIVeri5 and tailor it for specific usecases.
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.