
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
@browserstack/wdio-browserstack-service
Advanced tools
WebdriverIO service for better Browserstack integration
Core SDK for BrowserStack integration used by the WebdriverIO BrowserStack Service. For user configuration and service options, see the official service README: https://github.com/webdriverio/webdriverio/blob/main/packages/wdio-browserstack-service/README.md
This package provides the TypeScript-based gRPC client and Protobuf definitions
used internally by the @wdio/browserstack-service
plugin for WebdriverIO.
It includes:
This module is included as a dependency of the @wdio/browserstack-service
package.
Users should install and configure the service as documented in the linked README above.
Add the service to your WebdriverIO configuration (wdio.conf.js
):
export BROWSERSTACK_USERNAME=your_username
export BROWSERSTACK_ACCESS_KEY=your_access_key
Import and use the gRPC client and message constructors:
import { SDKClient, StartBinSessionRequestConstructor } from '@browserstack/wdio-browserstack-service';
import path from 'path';
import process from 'process';
import { CLIUtils } from '@browserstack/cli-utils'; // example import, adjust if needed
import { version as packageVersion } from './package.json'; // adjust to your setup
// Initialize the client (uses default insecure credentials unless overridden)
const client = new SDKClient('grpc.browserstack.com:443');
// Collect framework details
const automationFrameworkDetail = CLIUtils.getAutomationFrameworkDetail();
const testFrameworkDetail = CLIUtils.getTestFrameworkDetail();
const frameworkVersions = {
...automationFrameworkDetail.version,
...testFrameworkDetail.version
};
// Build StartBinSessionRequest
const startReq = StartBinSessionRequestConstructor.create({
binSessionId: 'your-session-id', // replace with actual session id
sdkLanguage: CLIUtils.getSdkLanguage(),
sdkVersion: packageVersion,
pathProject: process.cwd(),
pathConfig: path.resolve(process.cwd(), 'browserstack.yml'),
cliArgs: process.argv.slice(2),
frameworks: [automationFrameworkDetail.name, testFrameworkDetail.name],
frameworkVersions,
language: CLIUtils.getSdkLanguage(),
testFramework: testFrameworkDetail.name,
wdioConfig: {}, // provide your WDIO config if applicable
});
// Start a session
client.startBinSession(startReq).then(response => {
console.log('Started session:', response.binSessionId);
}).catch(err => {
console.error('Failed to start session:', err);
});
This project uses Buf and ts-proto
to
generate TypeScript code from Protobuf definitions.
# Clean previously generated files
npm run clean
# Generate from .proto files
npm run generate
# Compile to JS and declaration files
npm run build
Generated files appear under dist/
and should be published to npm.
Clone the repository and install dependencies:
git clone https://github.com/browserstack/wdio-browserstack-service.git
cd wdio-browserstack-service
npm install
Run generation and build:
npm run build
Contributions are welcome! Please open issues or pull requests in the GitHub repository.
MIT © BrowserStack
FAQs
WebdriverIO service for better Browserstack integration
The npm package @browserstack/wdio-browserstack-service receives a total of 879 weekly downloads. As such, @browserstack/wdio-browserstack-service popularity was classified as not popular.
We found that @browserstack/wdio-browserstack-service demonstrated a healthy version release cadence and project activity because the last version was released less than 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.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.