Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
@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 418,355 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.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.