mobile-testcafe-browser-provider-lambdatest
v1.0.0
Published
lambdatest TestCafe browser provider plugin for Real Devices.
Downloads
10
Maintainers
Readme
npm Plugin For TestCafe Integration With LambdaTest
This plugin integrates TestCafe with the LambdaTest Testing Cloud.
Install
$ npm install mobile-testcafe-browser-provider-lambdatest
Usage
Before using this plugin, save the LambdaTest username and access key to environment variables LT_USERNAME
and LT_ACCESS_KEY
, as described in LambdaTest Documentation.
You can determine the available real devices aliases by running
$ testcafe -b lambdatest
If you run tests from the command line, use the browser alias when specifying browsers: For Single Configuration
$ testcafe "lambdatest:Galaxy S8@9:android" "path/to/test/file.js"
For Parallel/Multiple Configuration
$ testcafe "lambdatest:Galaxy S8@9:android","lambdatest:Galaxy S8@7:android" "path/to/test/file.js"
When you use API, pass the alias to the browsers()
method:
testCafe
.createRunner()
.src('path/to/test/file.js')
.browsers('lambdatest:[email protected]:Windows 8')
.run();
Build Plugin Locally (Development Mode)
- Clone this repository,
- Rename Project
$ mv testcafe-browser-provider-lambdatest lambdatest
- Go to the project path
$ cd lambdatest
- Install Packages and Build
$ npm i
$ npm run build
- Link Testcafe with lambdatest
$ sudo npm link
Configuration
Use the following environment variables to set additional configuration options:
LT_TEST_NAME
- Test name on LambdaTest.LT_BUILD
- Build name on LambdaTest.LT_CAPABILITY_PATH
- Path to a file which contains additional capability options as JSON file (eg. config.json){ "[email protected]:Windows 8.1": { "network": true, "visual": true, "timezone": "UTC+11:00" } }
[email protected]:Windows 8.1
is browser alias.
LT_RESOLUTION
- allows setting the screen resolution for desktop browsers in the${width}x${height}
format.LT_LOGFILE
- Logfile You can provide a specific path to this file. If you won't provide a path then the logs would be saved in your present working directory by the filename: tunnel.log.LT_VERBOSE
- true or false.LT_W3C
- true or false.LT_ENABLE_TRACE
- true or false.LT_PROXY_HOST
- Hostname/IP of proxy, this is a mandatory value.LT_PROXY_PORT
- Port for the proxy, by default it would consider 3128 if proxyhost is used For Basic Authentication, we use the below proxy options.LT_PROXY_USER
- Username for connecting to proxy, mandatory value for using 'proxypass'.LT_PROXY_PASS
- Password for the USERNAME option.LT_TUNNEL_NAME
- Human readable tunnel identifier (Name of the tunnel).LT_DIR
- Path of the local folder you want to test.LT_SELENIUM_VERSION
- Browser specific capabilityLT_CONSOLE
- true or false.LT_NETWORK
- true or false.LT_VIDEO
- true or false.LT_SCREENSHOT
- true or false.LT_TIMEZONE
- Configure tests to run on a custom time zone.LT_TUNNEL_NUMBER
- Number of tunnel to be spawned at a time.LOAD_BALANCED_MODE
- Load balancing between multiple tunnels spawned.
Example:
export LT_RESOLUTION="1920x1080"
export LT_TEST_NAME="Test TestCafe"
export LT_BUILD="Build x"
testcafe "lambdatest:Chrome","lambdatest:[email protected]:Windows 8" tests/
About LambdaTest
LambdaTest is a cloud based selenium grid infrastructure that can help you run automated cross browser compatibility tests on 2000+ different browser and operating system environments. LambdaTest supports all programming languages and frameworks that are supported with Selenium, and have easy integrations with all popular CI/CD platforms. It's a perfect solution to bring your selenium automation testing to cloud based infrastructure that not only helps you increase your test coverage over multiple desktop and mobile browsers, but also allows you to cut down your test execution time by running tests on parallel.
License
Licensed under the MIT license.