Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@wdio/types
Advanced tools
Utility package providing type information for a variety of WebdriverIO interfaces
@wdio/types is a TypeScript type definitions package for WebdriverIO, a popular automation test framework. It provides type definitions for various WebdriverIO components, making it easier to write type-safe code when using WebdriverIO.
Type Definitions for WebdriverIO Configuration
This feature provides type definitions for WebdriverIO configuration objects, ensuring that the configuration adheres to the expected structure and types.
const config: WebdriverIO.Config = { runner: 'local', specs: ['./test/specs/**/*.js'], capabilities: [{ browserName: 'chrome' }] };
Type Definitions for WebdriverIO Commands
This feature provides type definitions for WebdriverIO commands, allowing for type-safe interactions with the browser and elements.
browser.url('https://example.com'); const title: string = browser.getTitle();
Type Definitions for WebdriverIO Hooks
This feature provides type definitions for WebdriverIO hooks, ensuring that hooks are implemented with the correct parameters and return types.
const hooks: WebdriverIO.Hooks = { before: (capabilities, specs) => { console.log('Before hook'); } };
WebdriverIO is the main package for the WebdriverIO framework, providing the core functionality for browser automation. While @wdio/types focuses on type definitions, webdriverio provides the actual implementation of the automation commands and features.
selenium-webdriver is the official JavaScript implementation of the Selenium WebDriver API. It provides similar browser automation capabilities as WebdriverIO but does not come with built-in TypeScript type definitions, making @wdio/types a better choice for TypeScript users.
Cypress is an end-to-end testing framework that provides a different approach to browser automation compared to WebdriverIO. It comes with built-in TypeScript support, but its API and architecture differ significantly from WebdriverIO.
This package contains a bunch of TypeScript types for internal WebdriverIO consumption. Feel free however to use them in your TypeScript project too.
To install this package from NPM run:
npm i @wdio/types
The package exports the following major type bundles: Capabilities
, Clients
, Options
, Services
, Frameworks
and Reporters
. A lot of them are very WebdriverIO specific but you can leverage some, e.g.
import type { Capabilities } from '@wdio/types';
const w3cCaps: Capabilities.W3CCapabilities = {
alwaysMatch: {...},
firstMatch: [],
// fails with "Object literal may only specify known properties, and 'invalid' does not exist in type 'W3CCapabilities'.ts(2322)"
invalid: 42
}
For details please take a look into the individual files.
For more information on WebdriverIO see the homepage.
FAQs
Utility package providing type information for a variety of WebdriverIO interfaces
The npm package @wdio/types receives a total of 2,018,798 weekly downloads. As such, @wdio/types popularity was classified as popular.
We found that @wdio/types demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 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 researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.