npm Plugin For TestCafe Integration With TestMu AI
TestCafe offers a comprehensive and extensive platform to perform end-to-end tests for node.js applications. It supports both JavaScript and Typescript so that you can write tests in either one of the two. With TestCafe, you can create stable tests that are easy to integrate with your continuous integration process. You can also execute multiple test cases in parallel.
TestMu AI, a cloud-based, cross browser testing platform, is out with an npm plugin that would allow you to integrate TestCafe with your TestMu AI account. That way, you can expand your test coverage using TestMu AI Selenium Grid on 3000+ real browsers and browser versions running across various operating systems for mobile, desktop, and tablets. Similar to TestCafe, TestMu AI Selenium Grid also allows you to perform parallel testing.
Prerequisites
Important: Visit TestMu AI npm package for TestCafe.
-
Add the dependency
"testcafe": "<testcafe_version>"in the package.json file. -
Make sure you have your TestCafe Credentials.
-
For Linux/Mac:
$ export LT_USERNAME= {YOUR_LAMBDATEST_USERNAME}
$ export LT_ACCESS_KEY= {YOUR_LAMBDATEST_ACCESS_KEY} -
For Windows:
$ set LT_USERNAME= {YOUR_LAMBDATEST_USERNAME}
$ set LT_ACCESS_KEY= {YOUR_LAMBDATEST_ACCESS_KEY}
-
Install TestMu AI npm Plugin For TestCafe
Use the below command for installing the npm plugin to integrate TestMu AI with TestCafe.
npm install testcafe-browser-provider-lambdatest
How To Use npm Plugin For TestMu AI & TestCafe Integration?
To acknowledge all available browsers aliases offered by TestMu AI Selenium Grid, type the below command:
testcafe -b lambdatest
To execute the test from cmd/terminal by declaring the browsers and operating systems to test:
$ testcafe "lambdatest:Chrome@74.0:Windows 8" 'path/to/test/file.js'
For Parallel testing:
$ testcafe "lambdatest:Chrome@74.0:Windows 8","lambdatest:Chrome@75.0:Windows 10" "path/to/test/file.js"
If you are using API, then you need to declare the aliases inside your browser() method:
testCafe
.createRunner()
.src('path/to/test/file.js')
.browsers('lambdatest:Chrome@74.0:Windows 8')
.run();
Additional Configuration Parameters
Note: TestCafe integration with TestMu AI does not support Geolocation testing.
In case you wish to make some additional configurations to your automation test scripts, then you can incorporate the below variables:
| VARIABLE | DESCRIPTION |
|---|---|
| LT_TEST_NAME | To specify a name to your test on TestMu AI Selenium Grid. |
| LT_BUILD | To specify a name to your build on TestMu AI Selenium Grid. |
| LT_CAPABILITY_PATH | To specify the path of a JSON file that declares additional Desired Capabilities. "Chrome@63.0:Windows 8.1" : { "network" : true, "visual" : true, "timezone" : "UTC+11:00" } Here, Chrome@63.0:Windows 8.1 represents browser alias. |
| LT_RESOLUTION | To perform cross browser testing on a specific screen resolution in the ${width}x${height} format. |
| LT_LOGFILE | Presents detailed logs of your automation script execution. 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 | Set flag for verbose to either true or false. |
| LT_PROXY_HOST | A mandatory variable if you wish to perform cross browser testing through proxy. This variable is where you need to declare the hostname/IP of proxy. |
| LT_PROXY_PORT | Port of the proxy. Default value for proxy port would be 3128. |
| 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 capability. |
| LT_CONSOLE | Set flag as true or false. |
| LT_NETWORK | Set flag as true or false. |
| LT_VIDEO | Set flag as true or false. |
| LT_SCREENSHOT | Set flag as true or false. |
| LT_TIMEZONE | Configure tests to run on a custom time zone. |
| LT_TUNNEL_NUMBER | Number of tunnels to be spawned at a time. |
| LOAD_BALANCED_MODE | Load Balanced Mode in Testcafe |
Example
export LT_RESOLUTION="1920x1080"
export LT_TEST_NAME="Test TestCafe"
export LT_BUILD="Build x"
export LT_TUNNEL_NUMBER=2
export LOAD_BALANCED_MODE=true
testcafe "lambdatest:Chrome","lambdatest:Chrome@74.0:Windows 8" tests/
