README
Professional Grade UI Components
This package is part of the Kendo UI for Angular and KendoReact suites.
License
This is commercial software. To use it, you need to agree to the Telerik End User License Agreement for Kendo UI (for Kendo UI for Angular) or to the End User License Agreement for Progress KendoReact (for KendoReact). If you do not own a commercial license, this file shall be governed by the trial license terms.
All available Kendo UI commercial licenses may be obtained at http://www.telerik.com/purchase/kendo-ui.
Kendo UI for Angular Resources and Feedback
KendoReact Resources and Feedback
Copyright © 2021 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.
Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries.
kendo-e2e
Selenium based e2e testing for web.
Usage
Managing browser drivers
This framework do not manage browser drivers, so user should take care appropriate driver to be in PATH
.
Linux and macOS
Install drivers globally:
npm i -g chromedriver
npm i -g geckodriver
Notes:
safaridriver
is build-in in macOS so no need to install extra packages.- No need to add something in the
PATH
(scripts of global npm packages are already in the PATH).
Windows
Install drivers globally:
npm i -g chromedriver
npm i -g geckodriver
npm i -g msedgedriver
Add following to your PATH
:
%APPDATA%\npm\node_modules\chromedriver\lib\chromedriver
%APPDATA%\npm\node_modules\msedgedriver\lib\msedgedriver
%APPDATA%\npm\node_modules\geckodriver
Managing browsers
Example:
const browser = new Browser();
await browser.navigateTo("https://www.telerik.com/")
await browser.close();
By default it will start Chrome browser with size 1366x768.
Browser type and size can be controlled by settings following environment variables:
BROWSER_NAME
Allowed values are
chrome
,firefox
,MicrosoftEdge
andsafari
(default ischrome
).BROWSER_WIDTH
andBROWSER_HEIGHT
Default values are
1366
and768
.HEADLESS
If set to
true
it will start browsers in headless mode (default isfalse
).Notes:
Safari
do not support headless mode and this setting will be ignored.
Testing on Real Mobile Devices @BrowserStack
Testing on mobile devices is also important, but usually it is hard to do it locally because:
- Mobile devices are expensive
- Local labs do not work well in case employees are distributed
That is why we implemented BrowserStack support.
Running tests on BrowserStack is similar to ruining them locally, we just need to tell what device and capabilities we need.
Configuration happens via environment variables:
export BROWSER_NAME=remote
export BS_USER_NAME=<your browser stack user id>
export BS_ACCESS_KEY=<your browser stack access key>
export BS_BROWSER_NAME=<Android|iPhone> (default is "Android")
export BS_BROWSER_NAME=<version of the mobile os> (default is "10.0")
export BS_DEVICE_NAME=<name of device> (default is "Google Pixel 4")
export BS_REAL_MOBILE=<true|false> (default is "true")
export BS_LOCAL=<true|false> (default is "false")
export BS_BUILD_NAME=<string> (default is "BStack Test")
export BS_BUILD_NUMBER=<string> (default is "BStack Build 1")
To check available mobile devices and capabilities please visit this page.
Find Elements and Wait for Conditions
TODO
Take Screenshots
TODO
Detect JavaScript errors in Browser Logs
TODO
Detect Accessibility Violations
TODO
Kendo UI Components Abstractions
TODO
Contribution
PRs are welcome!
Lint:
npm run lint
Build:
npm run build
Run tests:
npm run tests:e2e