Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
@enact/ui-test-utils
Advanced tools
This package includes the common WebDriver configurations and some utility modules for executing
automated UI tests from Enact UI library packages. This package is not intended to be used directly
and must be configured as a devDependency
of the UI library.
Add @enact/ui-test-utils
as a devDependency: npm i --save-dev @enact/ui-test-utils
Create the tests/ui
folder struture within the UI library
Add apps
and specs
folders to tests/ui
Add local WebDriver configuation files within tests/ui
wdio.conf.js
containing module.exports = require('@enact/ui-test-utils/wdio.conf.js');
wdio.docker.conf.js
containing module.exports = require('@enact/ui-test-utils/wdio.docker.conf.js');
wdio.tv.conf.js
containing module.exports = require('@enact/ui-test-utils/wdio.tv.conf.js');
Add npm scripts for each of the above configuration files. There are likely other scripts already defined so these will be added to the existing scripts.
"scripts": {
"test-ui": "wdio tests/ui/wdio.conf.js",
"test-ui-docker": "wdio tests/ui/wdio.docker.conf.js",
"test-ui-tv": "wdio tests/ui/wdio.tv.conf.js"
}
Optionally configure different ESLint and git configuration rules using .eslintrc.js
and
.gitignore
files, respectively
Within the UI Library, create an app for testing in /tests/ui/apps
and create a corresponding test in /tests/ui/specs
.
The Page
component from @enact/ui-test-utils/test/Page
contains useful methods for loading tests.
Pass the IP address of the TV as an environment variable and use the test-ui-tv
task:
TV_IP=10.0.1.1 npm run test-ui-tv
npm run test-ui -- --spec <pattern>
Example 1 - will execute tests for 'ExpandableInput'
npm run test-ui -- --spec ExpandableInput
Example 2 - will execute tests for 'Input' component
npm run test-ui -- --spec /Input
Note: <pattern>
can also be a regex and may need to be in quotes to prevent expansion on the command
line.
When a test fails, a screenshot will be captured showing the state when it failed. The screenshots
are saved to ./tests/ui/errorShots/
. The test run will display the filename for a failed test:
Example:
F
Screenshot location: ./errorShots/should-meet-initial-conditions.png
The --skip-build
option can be used to skip packing Enact and the apps
directory. Changes to
the Enact version or test apps will not be picked up.
npm test -- --spec /Input --skip-build
To re-pack just the tests, without rebuilding Enact or running the tests, use --pack-tests
. This
is primarily useful when using serve dist
(See Loading sample apps in a browser below) to view
test apps in the browser.
npm run pack-tests
By default, tests run in 'headless' mode, which hides the browser window used for testing. You can
watch the tests run by passing --visible
:
npm run test-ui -- --visible
For example, filtering for the component 'Input'.
npm run test-ui -- --visible --spec /Input
This requires that a server be running on port 5000. If you have globally installed the serve
command with npm install -g serve
you can start the server like this:
serve dist
To open a specific test app, open the URL path for the test. The path will match the name of the JS
source file for the app. For example, to open the VirtualList
test app, navigate to:
http://localhost:5000/VirtualList-View/
FAQs
UI Testing for the Enact framework
The npm package @enact/ui-test-utils receives a total of 398 weekly downloads. As such, @enact/ui-test-utils popularity was classified as not popular.
We found that @enact/ui-test-utils demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.