{"id":15023970,"url":"https://github.com/sap/ui5-uiveri5","last_synced_at":"2025-04-12T02:59:54.564Z","repository":{"id":34024252,"uuid":"158149801","full_name":"SAP/ui5-uiveri5","owner":"SAP","description":"End-to-end testing framework for SAPUI5","archived":false,"fork":false,"pushed_at":"2025-03-24T14:07:00.000Z","size":1036,"stargazers_count":122,"open_issues_count":47,"forks_count":56,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-04-12T02:59:45.695Z","etag":null,"topics":["javascript","open-source","testing-framework","ui5"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SAP.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-19T02:19:26.000Z","updated_at":"2025-04-04T03:39:25.000Z","dependencies_parsed_at":"2025-01-18T16:06:59.109Z","dependency_job_id":"c331f597-6132-4493-bb8b-c66924ac5022","html_url":"https://github.com/SAP/ui5-uiveri5","commit_stats":{"total_commits":217,"total_committers":21,"mean_commits":"10.333333333333334","dds":0.7327188940092166,"last_synced_commit":"8f6ce86b5e03a0618fd00e5483c002823bbc5508"},"previous_names":[],"tags_count":58,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP%2Fui5-uiveri5","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP%2Fui5-uiveri5/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP%2Fui5-uiveri5/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SAP%2Fui5-uiveri5/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SAP","download_url":"https://codeload.github.com/SAP/ui5-uiveri5/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248510008,"owners_count":21116131,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","open-source","testing-framework","ui5"],"created_at":"2024-09-24T19:59:39.814Z","updated_at":"2025-04-12T02:59:54.543Z","avatar_url":"https://github.com/SAP.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n--------------------\n\n**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](https://blogs.sap.com/2021/11/29/use-wdio-and-wdi5-for-testing-ui5-apps/)**\n\n--------------------\n\n![openui5](http://openui5.org/images/OpenUI5_new_big_side.png)\n\n## What is it\nUIVeri5 is an E2E testing framework for [UI5](https://ui5.sap.com)-based applications. It uses\n[WebDriverJS](https://code.google.com/p/selenium/wiki/WebDriverJs) to drive a real browser and interacts with your\napplication as a real user would. UIVeri5 is heavily inspired by [Protractor](http://www.protractortest.org/)\nand brings most (and more) of its benefits to UI5 applications.\n\n[![REUSE status](https://api.reuse.software/badge/github.com/SAP/ui5-uiveri5)](https://api.reuse.software/info/github.com/SAP/ui5-uiveri5)\n\n### Benefits\n* Automatic synchronization with UI5 app rendering so there is no need to add waits and sleeps to your test. Tests are reliable by design.\n* Tests are written in synchronous manner, no callbacks, no promise chaining so are really simple to write and maintain.\n* Full power of webdriverjs, protractor and jasmine - deferred selectors, custom matchers, custom locators.\n* Control locators (OPA5 declarative matchers) allow locating and interacting with UI5 controls.\n* Does not depend on testability support in applications - works with autorefreshing views, resizing elements, animated transitions.\n* Declarative authentications - authentication flow over OAuth2 providers, etc.\n* Console operation, CI ready, fully configurable or IDE.\n* Covers full UI5 browser matrix: Chrome, Firefox, IE, Edge, Safari, iOS, Android.\n* Works with browser cloud provider like [SauseLabs](docs/config/cloud.md)\n* Use generated snippets from [Test Recorder](https://blogs.sap.com/2020/01/23/test-recording-with-ui5-test-recorder/) that is built-in every UI5 app (from UI5 1.74)\n* Open-source, fork and modify to fit your specific neeeds.\n\n## Requirements\n* [NodeJS](https://nodejs.org/en/download/), version 8.0 or higher\n\n## Configuration\nUIVeri5 accepts a declarative configuration in a conf.js file. Configuration can be overridden with command-line arguments.\nAll configuration options are explained in [Configuration](docs/config/config.md)\n\n## Installation\nInstall globally:\n```\n$ npm install @ui5/uiveri5 -g\n```\n\n## Usage\n\n### Create a test\nCreate a clean folder that will contain your test and configuration files. UIVeri5 uses [Jasmine](https://jasmine.github.io/) as a test runner so the test resides in a spec.js file.\nPut the declarative configuration in the conf.js file.\n\n* conf.js\n```js\nexports.config = {\n  profile: 'integration',\n\n  baseUrl: 'https://openui5.hana.ondemand.com/test-resources/sap/m/demokit/master-detail/webapp/test/mockServer.html',\n};\n```\n\n* masterdetail.spec.js\n```js\ndescribe('masterdetail', function () {\n\n  it('should load the app',function() {\n    expect(browser.getTitle()).toBe('Master-Detail');\n  });\n\n  it('should display the details screen',function() {\n    element(by.control({\n      viewName: 'sap.ui.demo.masterdetail.view.Master',\n      controlType: 'sap.m.ObjectListItem',\n      properties: {\n        title: 'Object 11'\n      }}))\n    .click();\n  });\n\n  it('should validate line items',function() {\n    expect(element.all(by.control({\n      viewName: 'sap.ui.demo.masterdetail.view.Detail',\n      controlType:'sap.m.ColumnListItem'}))\n    .count()).toBe(2);\n  });\n});\n```\n\n### Run the test\nOpen console in the test folder and execute:\n```\n$ uiveri5\n```\nYou 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.\n\n### Usage hints\nBy default uiveri5 will discover all tests in current folder and execute them on localy started Chrome.\nAll of those defaults could be modified either in conf.js or by providing command-line arguments.\n\n* Specify non-default config file\n```\n$uiveri5 ci-conf.js\n```\n* Enable verbose logging\n```\n$uiveri5 -v\n```\n* Run tests on different browser\n```\n$uiveri5 --browsers=firefox\n```\n* Run tests against app deployed on a specific system\n```\n$uiveri5 --baseUrl=\"http://\u003chost\u003e:\u003cport\u003e/app\"\n```\n* Run tests against a remote selenium server\n```\n$uiveri5 --seleniumAddress=\"\u003chost\u003e:\u003cport\u003e/wd/hub\"\n```\n\n## Learn more\nLearn how to build your tests in our [Testing Guide](docs/usage/applicationtesting.md).\n\n## Support\nIf you face a problem, please check our list of common [issues](docs/issues.md).\nIf you think you found a bug, please create a new [github issue](https://github.com/SAP/ui5-uiveri5/issues/new). \nIf you have a question, please ask on [StackOverflow](http://stackoverflow.com/questions/tagged/uiveri5).\n\n## Known Bugs\nNo major bugs known.\n\n## Release plan\nSee how we plan to continue in our [TODO](docs/todo.md) .\n\n## Related projects\nHere we gather few projects that build on UIVeri5 and tailor it for specific usecases.\n\n* Docker container with UIVeri5, Chrome, Jenkins: [Link](https://github.com/frumania/docker-uiveri5-jenkins-slave)\n\n## Automatic Downloads\nBy 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsap%2Fui5-uiveri5","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsap%2Fui5-uiveri5","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsap%2Fui5-uiveri5/lists"}