
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
fluid-webdriver
Advanced tools
A series of Fluid components that help write tests using the WebDriver API.
This package provides a series of Fluid components to assist in writing tests that use the WebDriver API to control a real browser and to examine the browser's state.
The main goals of this package are to:
Many approaches to testing keyboard navigation send individual keystrokes directly to a single named component and examine the results. While this does confirm the behavior of the component, it does not provide a good means of testing navigation between components. Sending keys directly to a known component also assumes that the component can already be reached using keyboard navigation.
With this package, you can test sending keys directly to a component, navigation between components, and using keyboard navigation to focus on an element. This allows for much more realistic user-focused test scenarios like:
Using this package, the above scenario can be tested even if javascript is completely disabled.
This package provides the ability to change the browser's state in exactly the same manner as would happen if a user hit the "back", "next", and "refresh" buttons or shortcut keys. You might use this to:
This package makes use of the IPC bridge built into WebDriverJS to send code to the browser, have that code be executed, and to receive the results of the code's execution. Among many other things, this allows you to:
To run the tests locally, you will need to install the drivers for each browser
you want to test. Once you have done this, you can use the command npm test to run the tests.
You can also use the command vagrant up to provision a linux box and run the Chrome tests there.
To make use of this package in your own tests, you will typically need to add code like the following:
var fluid = require("infusion");
require("fluid-webdriver");
fluid.webdriver.loadTestingSupport();
Note that although the last line is not required to simply use the webdriver itself, you'll need it if you want to use the caseHolder, testEnvironment or cross-browser test runner including with this package.
There is a known problem with very slow text input when using the 64-bit IEDriverServer. If you are on a 64-bit Windows machine and seeing extreme slowness in tests that supply text input, you should:
SELENIUM_REMOTE_URL environment variable to http://localhost:5555.BROWSERS environment to ie.Note that once you do this, the BROWSERS and SELENIUM_BROWSER variables will no longer be meaningful, and tests will
only run in Internet Explorer. The fourth step above simply avoids running the IE tests multiple times (once expecting
to run using Chrome, once expecting to run using Internet Explorer, etc.).
Edge is currently not verified working with any combination of Selenium and the WebDriver server, but it should be possible to use it with instructions like the following:
SELENIUM_REMOTE_URL environment to http://localhost:17556/.BROWSERS environment variable to edge.This will cause the tests to only be run in the Edge browser. See above for more details.
Firefox 47 and below will work with older versions of this package. Firefox 48.0 and higher do not work for now. For more information, see fluid-1913.
For more information, check out the individual docs for:
Several browsers now support a "headless" mode, in which no window is displayed onscreen as the tests are run. This
tends to run faster and require less resources. If you set the HEADLESS environment variable to a non-empty value,
this package will attempt to run supported browser (as of this writing, only Chrome) in "headless" mode.
FAQs
A series of Fluid components that help write tests using the WebDriver API.
We found that fluid-webdriver demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.