@wdio/appium-service
Version:
A WebdriverIO service to start & stop Appium Server
196 lines • 5.68 kB
TypeScript
export type AppiumServerArguments = {
/**
* Hostname to listen on
*/
address?: string;
/**
* Allow web browser connections from any host
*/
allowCors?: boolean;
/**
* Comma-separated list of insecure features which are allowed to run in server session
*/
allowInsecure?: string;
/**
* Base path to use as the prefix for all webdriver routes running on the server
*/
basePath?: string;
/**
* Callback IP address
*/
callbackAddress?: string;
/**
* Callback Port
*/
callbackPort?: number | string;
/**
* Add exaggerated spacing in logs
*/
debugLogSpacing?: boolean;
/**
* Default desired capabilities, which will be added to each session unless overridden by received capabilities
*/
defaultCapabilities?: object;
/**
* Comma-separated list of insecure features which are not allowed to run in server session
*/
denyInsecure?: string;
/**
* Number of seconds the server applies as both the keep-alive timeout and the connection timeout for all requests
*/
keepAliveTimeout?: number | string;
/**
* Use local timezone for timestamps
*/
localTimezone?: boolean;
/**
* Send log output to the file
*/
log?: string;
/**
* Log Filters
* A path to a valid JSON file containing an array of filtering rules
*/
logFilters?: string;
/**
* Log level
*/
logLevel?: string;
/**
* Use color in console output
*/
logNoColors?: boolean;
/**
* Show timestamps in console output
*/
logTimestamp?: boolean;
/**
* Add long stack traces to log entries
*/
longStacktrace?: boolean;
/**
* Do not check that needed files are readable and/or writable
*/
noPermsCheck?: boolean;
/**
* Path to configuration JSON file or the configuration itself
*/
nodeconfig?: string | object;
/**
* Port to listen on
*/
port?: number | string;
/**
* Disable additional security checks
*/
relaxedSecurity?: boolean;
/**
* Enables session override (clobbering)
*/
sessionOverride?: boolean;
/**
* Trigger session failures when provided desired capabilities are not recognized as valid
*/
strictCaps?: boolean;
/**
* Absolute path to directory used for managing temporary files
*/
tmp?: string;
/**
* Absolute path to directory used to save iOS instrument traces
*/
traceDir?: string;
/**
* Comma-separated list of drivers to activate
*/
useDrivers?: string;
/**
* Comma-separated list of plugins to activate
*/
usePlugins?: string;
/**
* Directs the log output to the listener
*/
webhook?: string;
};
export interface AppiumSessionCapabilities {
/**
* Default session parameters
*/
port?: number;
protocol?: string;
hostname?: string;
path?: string;
}
export interface AppiumServiceConfig {
/**
* Path where all logs from the Appium server should be stored.
*/
logPath?: string;
/**
* To use your own installation of Appium, e.g. globally installed, specify the command which should be started.
* @default "node"
*/
command?: string;
/**
* Map of arguments for the Appium server, passed directly to `appium`.
* @default {}
*/
args?: AppiumServerArguments;
/**
* Timeout in milliseconds for Appium to start successfully.
* @default 30000
*/
appiumStartTimeout?: number;
/**
* Enable selector performance tracking to measure element finding times.
* When enabled, tracks all element-finding commands and stores timing data in JSON format.
*/
trackSelectorPerformance?: {
/**
* Enable the CLI report output to the terminal.
* When enabled, a formatted performance report is printed to the terminal after test execution.
* @default false
*/
enableCliReport?: boolean;
/**
* Enable markdown report generation.
* When enabled, a markdown file with the same content as the CLI report is written to the logs folder.
* @default false
*/
enableMarkdownReport?: boolean;
/**
* Path where the JSON report file should be saved.
* If not provided, falls back to config.outputDir, then appium service logPath.
* If none are set, an error will be thrown.
*/
reportPath?: string;
/**
* Maximum line length for terminal report output.
* Lines longer than this will be wrapped at word boundaries.
* @default 100
*/
maxLineLength?: number;
/**
* Paths to directories containing page objects or helper files where selectors may be defined.
* The service will search these directories to find selector locations and show file paths
* in the report (e.g., "Found at: TabBar.ts:3").
*
* This option is required when `trackSelectorPerformance` is configured.
*
* @example
* // Single directory
* pageObjectPaths: ['./tests/pageobjects']
*
* @example
* // Multiple directories
* pageObjectPaths: ['./tests/pageobjects', './tests/pages', './tests/helpers']
*/
pageObjectPaths: string[];
};
}
export type ArgValue = string | number | boolean | null | object;
export type KeyValueArgs = {
[key: string]: ArgValue;
};
//# sourceMappingURL=types.d.ts.map