cypress
- Version 13.17.0
- Published
- 7.34 MB
- 43 dependencies
- MIT license
Install
npm i cypress
yarn add cypress
pnpm add cypress
Overview
Cypress is a next generation front end testing tool built for the modern web
Index
Namespaces
Cypress
- ActionableOptions
- Actions
- ActiveSessions
- AfterBrowserLaunchDetails
- AfterScreenshotReturnObject
- Agent
- AngularDevServerProjectConfig
- ApplicationWindow
- AsOptions
- Auth
- AUTWindow
- Backend
- BeforeBrowserLaunchOptions
- BeforeRunDetails
- BlurOptions
- Browser
- BrowserChannel
- BrowserFamily
- BrowserName
- CanReturnChainable
- CaseMatchable
- Chainable
- ChainableMethods
- Chainer
- CheckOptions
- ClearOptions
- ClickOptions
- ClientCertificate
- Clock
- CodeFrame
- Command
- CommandFn
- CommandFns
- CommandFnsWithSubject
- CommandFnWithOriginalFn
- CommandFnWithOriginalFnAndSubject
- CommandFnWithSubject
- CommandOptions
- CommandOriginalFn
- CommandOriginalFnWithSubject
- CommandQueue
- ComponentConfigOptions
- ComponentFrameworkDefinition
- Config
- ConfigHandler
- ConfigOptions
- Cookie
- CookieOptions
- CoreConfigOptions
- cy
- Cypress
- CypressComponentDependency
- CypressError
- CypressSpecType
- DebugOptions
- DefineDevServerConfig
- DependencyToInstall
- DevServerConfig
- DevServerConfigOptions
- DevServerFn
- Diff
- Dimensions
- Dimensions
- ElementCoordinates
- ElementPositioning
- Encodings
- EndToEndConfigOptions
- EnqueuedCommandAttributes
- Ensure
- Exec
- ExecOptions
- experimentalCspAllowedDirectives
- Failable
- FileContents
- FileObject
- FileReference
- FileReferenceObject
- Forceable
- HistoryDirection
- HttpMethod
- IsBrowserMatcher
- JQueryWithSelector
- KeyboardDefaultsOptions
- LocalStorage
- Log
- LogAttrs
- LogConfig
- Loggable
- ObjectLike
- Offset
- Omit
- OriginStorage
- Padding
- PEMCert
- PFXCert
- PickConfigOpt
- PluginConfig
- PluginConfigOptions
- PluginEvents
- PositionType
- PrevSubject
- PrevSubjectMap
- PublicBrowser
- QueryFn
- QueryFnWithOriginalFn
- RemoteState
- RequestBody
- RequestOptions
- ResolvedComponentFrameworkDefinition
- ResolvedConfigOptions
- ResolvedDevServerConfig
- Response
- RetryStrategy
- RetryStrategyDetectFlakeAndPassOnThresholdType
- RetryStrategyDetectFlakeButAlwaysFailType
- RetryStrategyWithModeSpecs
- RouteOptions
- RuntimeConfigOptions
- RuntimeServerConfigOptions
- SameSiteStatus
- ScreenshotDefaultsOptions
- ScreenshotDetails
- ScreenshotOptions
- scrollBehaviorOptions
- ScrollIntoViewOptions
- ScrollToOptions
- SelectFileOptions
- SelectOptions
- SelectorPlaygroundDefaultsOptions
- Server
- ServerSessionData
- Session
- SessionData
- SessionOptions
- SetCookieOptions
- Shadow
- ShadowDomOptions
- SinonSpyAgent
- Spec
- Storable
- StorableArray
- StorableObject
- StorableRecord
- StorageByOrigin
- Storages
- SuiteConfigOverrides
- SystemDetails
- Task
- Tasks
- TestConfigOverrides
- TestingType
- ThenReturn
- ThirdPartyComponentFrameworkDefinition
- Timeoutable
- TimeoutableXHR
- TriggerOptions
- TypedArray
- TypeOptions
- UrlOptions
- UserConfigOptions
- Viewport
- ViewportOrientation
- ViewportPosition
- ViewportPreset
- VisitOptions
- WindowPosition
- Withinable
- WriteFileOptions
mocha
- after
- afterEach
- AsyncFunc
- before
- beforeEach
- Context
- describe
- Done
- ExclusiveSuiteFunction
- ExclusiveSuiteFunction
- ExclusiveTestFunction
- ExclusiveTestFunction
- Func
- Hook
- HookFunction
- Interface
- InterfaceContributions
- it
- Mocha
- MochaGlobals
- MochaInstanceOptions
- MochaOptions
- PendingSuiteFunction
- PendingSuiteFunction
- PendingTestFunction
- PendingTestFunction
- Reporter
- ReporterConstructor
- ReporterContributions
- RootHookObject
- run()
- Runnable
- Runnable
- Runnable
- Runner
- Runner
- Runner
- Runner
- Runner
- Runner
- Runner
- Runner
- Runner
- Runner
- Runner
- Runner
- Runner
- Runner
- RunnerConstants
- setup
- Stats
- suite
- Suite
- Suite
- Suite
- Suite
- Suite
- Suite
- Suite
- Suite
- Suite
- Suite
- Suite
- Suite
- SuiteConstants
- SuiteFunction
- SuiteFunction
- suiteSetup
- suiteTeardown
- teardown
- test
- Test
- TestFunction
- TestFunction
- TestInterface
- xit
Namespaces
namespace Cypress
namespace Cypress {}
interface ActionableOptions
interface ActionableOptions extends Forceable {}
Options to affect Actionability checks
See Also
https://on.cypress.io/interacting-with-elements#Actionability
property animationDistanceThreshold
animationDistanceThreshold: number;
The distance in pixels an element must exceed over time to be considered animating
5
property scrollBehavior
scrollBehavior: scrollBehaviorOptions;
Viewport position to which an element should be scrolled prior to action commands. Setting
false
disables scrolling.'top'
property waitForAnimations
waitForAnimations: boolean;
Whether to wait for elements to finish animating before executing commands
true
interface Actions
interface Actions {}
These events come from the application currently under test (your application). These are the most useful events for you to listen to.
See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
( action: 'uncaught:exception', fn: ( error: Error, runnable: Mocha.Runnable, promise?: Promise<any> ) => false | void): Cypress;
Fires when an uncaught exception or unhandled rejection occurs in your application. If it's an unhandled rejection, the rejected promise will be the 3rd argument. Cypress will fail the test when this fires. Return
false
from this event and Cypress will not fail the test. Also useful for debugging purposes because the actualerror
instance is provided to you.Example 1
``` // likely want to do this in a support file // so it's applied to all spec files // cypress/support/{e2e|component}.js
Cypress.on('uncaught:exception', (err, runnable) => { // returning false here prevents Cypress from // failing the test return false }) // stub "window.alert" in a single test it('shows alert', () => { const stub = cy.stub() cy.on('window:alert', stub) // trigger application code that calls alert(...) .then(() => { expect(stub).to.have.been.calledOnce }) }) ```
See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
( action: 'window:confirm', fn: | ((text: string) => false | void) | SinonSpyAgent<sinon.SinonSpy> | SinonSpyAgent<sinon.SinonStub>): Cypress;
Fires when your app calls the global
window.confirm()
method. Cypress will auto accept confirmations. Returnfalse
from this event and the confirmation will be canceled.Example 1
``` cy.on('window:confirm', (str) => { console.log(str) return false // simulate "Cancel" }) ```
See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
(action: 'scrolled', fn: ($el: JQuery) => void): Cypress;
Fires whenever **Cypress** is scrolling your application. This event is fired when Cypress is {% url 'waiting for and calculating actionability' interacting-with-elements %}. It will scroll to 'uncover' elements currently being covered. This event is extremely useful to debug why Cypress may think an element is not interactive.
See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
( action: 'command:enqueued', fn: (command: EnqueuedCommandAttributes) => void): Cypress;
Fires when a cy command is first invoked and enqueued to be run later. Useful for debugging purposes if you're confused about the order in which commands will execute.
See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
(action: 'command:start', fn: (command: CommandQueue) => void): Cypress;
Fires when cy begins actually running and executing your command. Useful for debugging and understanding how the command queue is async.
See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
(action: 'command:end', fn: (command: CommandQueue) => void): Cypress;
Fires when cy finishes running and executing your command. Useful for debugging and understanding how commands are handled.
See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
(action: 'skipped:command:end', fn: (command: CommandQueue) => void): Cypress;
Fires when a command is skipped, namely the
should
command. Useful for debugging and understanding how commands are handled.See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
(action: 'command:retry', fn: (command: CommandQueue) => void): Cypress;
Fires whenever a command begins its retrying routines. This is called on the trailing edge after Cypress has internally waited for the retry interval. Useful to understand **why** a command is retrying, and generally includes the actual error causing the retry to happen. When commands fail the final error is the one that actually bubbles up to fail the test. This event is essentially to debug why Cypress is failing.
See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
(action: 'log:added', fn: (attributes: ObjectLike, log: any) => void): Cypress;
Fires whenever a command emits this event so it can be displayed in the Command Log. Useful to see how internal cypress commands utilize the {% url 'Cypress.log()' cypress-log %} API.
See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
(action: 'log:changed', fn: (attributes: ObjectLike, log: any) => void): Cypress;
Fires whenever a command's attributes changes. This event is debounced to prevent it from firing too quickly and too often. Useful to see how internal cypress commands utilize the {% url 'Cypress.log()' cypress-log %} API.
See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
( action: 'test:before:run', fn: (attributes: ObjectLike, test: Mocha.Test) => void): Cypress;
Fires before the test and all **before** and **beforeEach** hooks run.
See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
( action: 'test:before:run:async', fn: (attributes: ObjectLike, test: Mocha.Test) => void | Promise<any>): Cypress;
Fires before the test and all **before** and **beforeEach** hooks run. If a
Promise
is returned, it will be awaited before proceeding.
call signature
( action: 'window:alert', fn: | ((text: string) => void) | SinonSpyAgent<sinon.SinonSpy> | SinonSpyAgent<sinon.SinonStub>): Cypress;
Fires when your app calls the global
window.alert()
method. Cypress will auto accept alerts. You cannot change this behavior.Example 1
``` const stub = cy.stub() cy.on('window:alert', stub) // assume the button calls window.alert() cy.get('.my-button') .click() .then(() => { expect(stub).to.have.been.calledOnce }) ```
See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
( action: 'test:after:run', fn: (attributes: ObjectLike, test: Mocha.Test) => void): Cypress;
Fires after the test and all **afterEach** and **after** hooks run.
See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
(action: 'window:before:load', fn: (win: AUTWindow) => void): Cypress;
Fires as the page begins to load, but before any of your applications JavaScript has executed. This fires at the exact same time as
cy.visit()
onBeforeLoad
callback. Useful to modify the window on a page transition.See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
(action: 'window:load', fn: (win: AUTWindow) => void): Cypress;
Fires after all your resources have finished loading after a page transition. This fires at the exact same time as a
cy.visit()
onLoad
callback.See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
( action: 'window:before:unload', fn: (event: BeforeUnloadEvent) => void): Cypress;
Fires when your application is about to navigate away. The real event object is provided to you. Your app may have set a
returnValue
on the event, which is useful to assert on.See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
(action: 'window:unload', fn: (event: Event) => void): Cypress;
Fires when your application is has unloaded and is navigating away. The real event object is provided to you. This event is not cancelable.
See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
(action: 'url:changed', fn: (url: string) => void): Cypress;
Fires whenever Cypress detects that your application's URL has changed.
See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
( action: 'fail', fn: (error: CypressError, mocha: Mocha.Runnable) => void): Cypress;
Fires when the test has failed. It is technically possible to prevent the test from actually failing by binding to this event and invoking an async
done
callback. However this is **strongly discouraged**. Tests should never legitimately fail. This event exists because it's extremely useful for debugging purposes.See Also
https://on.cypress.io/catalog-of-events#App-Events
call signature
(action: 'viewport:changed', fn: (viewport: Viewport) => void): Cypress;
Fires whenever the viewport changes via a
cy.viewport()
or naturally when Cypress resets the viewport to the default between tests. Useful for debugging purposes.See Also
https://on.cypress.io/catalog-of-events#App-Events
interface AfterBrowserLaunchDetails
interface AfterBrowserLaunchDetails {}
property webSocketDebuggerUrl
webSocketDebuggerUrl: string;
interface AfterScreenshotReturnObject
interface AfterScreenshotReturnObject {}
interface AngularDevServerProjectConfig
interface AngularDevServerProjectConfig {}
property buildOptions
buildOptions: Record<string, any>;
property root
root: string;
property sourceRoot
sourceRoot: string;
interface ApplicationWindow
interface ApplicationWindow {}
The interface for user-defined properties in Window object under test.
interface AsOptions
interface AsOptions {}
Options to affect how an alias is stored
See Also
https://on.cypress.io/as
property type
type: 'query' | 'static';
The type of alias to store, which impacts how the value is retrieved later in the test. If an alias should be a 'query' (re-runs all queries leading up to the resulting value so it's alway up-to-date) or a 'static' (read once when the alias is saved and is never updated).
type
has no effect when aliasing intercepts, spies, and stubs.'query'
interface Backend
interface Backend {}
call signature
(task: 'firefox:force:gc'): Promise<void>;
Firefox only: Force Cypress to run garbage collection routines. No-op if not running in Firefox.
See Also
https://on.cypress.io/firefox-gc-issue
call signature
(task: 'net', eventName: string, frame: any): Promise<void>;
interface BeforeBrowserLaunchOptions
interface BeforeBrowserLaunchOptions {}
property args
args: string[];
property env
env: { [key: string]: any };
property extensions
extensions: string[];
property preferences
preferences: { [key: string]: any };
interface BeforeRunDetails
interface BeforeRunDetails {}
property autoCancelAfterFailures
autoCancelAfterFailures?: number | false;
property browser
browser?: Browser;
property config
config: ConfigOptions;
property cypressVersion
cypressVersion: string;
property group
group?: string;
property parallel
parallel?: boolean;
property runUrl
runUrl?: string;
property specPattern
specPattern?: string[];
property specs
specs?: Spec[];
property system
system: SystemDetails;
property tag
tag?: string;
interface BlurOptions
interface BlurOptions extends Loggable, Timeoutable, Forceable {}
interface Browser
interface Browser {}
Describes a browser Cypress can control
property channel
channel: BrowserChannel;
The release channel of the browser.
property displayName
displayName: string;
Human-readable browser name.
property family
family: BrowserFamily;
The underlying engine for this browser.
property info
info?: string;
Informational text to accompany this browser. Shown in desktop-gui.
property isHeaded
isHeaded: boolean;
property isHeadless
isHeadless: boolean;
property majorVersion
majorVersion: number | string;
property minSupportedVersion
minSupportedVersion?: number;
The minimum majorVersion of this browser supported by Cypress.
property name
name: BrowserName;
Short browser name.
property path
path: string;
property unsupportedVersion
unsupportedVersion?: boolean;
If
true
, this browser is too old to be supported by Cypress.
property version
version: string;
property warning
warning?: string;
Warning text to accompany this browser. Shown in desktop-gui.
interface CaseMatchable
interface CaseMatchable {}
Options that check case sensitivity
property matchCase
matchCase: boolean;
Check case sensitivity
true
interface Chainable
interface Chainable<Subject = any> {}
Chainable interface for non-array Subjects
property and
and: Chainer<Subject>;
Create an assertion. Assertions are automatically retried until they pass or time out.
should
See Also
https://on.cypress.io/and
property off
off: Actions;
These events come from Cypress as it issues commands and reacts to their state. These are all useful to listen to for debugging purposes.
See Also
https://on.cypress.io/catalog-of-events#App-Events
property on
on: Actions;
These events come from Cypress as it issues commands and reacts to their state. These are all useful to listen to for debugging purposes.
See Also
https://on.cypress.io/catalog-of-events#App-Events
property once
once: Actions;
These events come from Cypress as it issues commands and reacts to their state. These are all useful to listen to for debugging purposes.
See Also
https://on.cypress.io/catalog-of-events#App-Events
property should
should: Chainer<Subject>;
Create an assertion. Assertions are automatically retried until they pass or time out.
Example 1
// Assert on the href of the location cy.location('href').should('contain', '/tag/tutorials/')
See Also
https://on.cypress.io/should
method $$
$$: <TElement extends Element = HTMLElement>( selector: JQuery.Selector, context?: Element | Document | JQuery) => JQuery<TElement>;
jQuery library bound to the AUT
Example 1
cy.$$('p')
See Also
https://on.cypress.io/$
method as
as: (alias: string, options?: Partial<AsOptions>) => Chainable<Subject>;
Assign an alias for later use. Reference the alias later within a [cy.get()](https://on.cypress.io/get) or [cy.wait()](https://on.cypress.io/wait) command with a
@
prefix. You can alias DOM elements, routes, stubs and spies.Example 1
// Get the aliased 'todos' elements cy.get('ul#todos').as('todos')
// later retrieve the todos cy.get('@todos')
See Also
https://on.cypress.io/as
https://on.cypress.io/variables-and-aliases
https://on.cypress.io/get
method blur
blur: (options?: Partial<BlurOptions>) => Chainable<Subject>;
Blur a focused element. This element must currently be in focus. If you want to ensure an element is focused before blurring, try using .focus() before .blur().
See Also
https://on.cypress.io/blur
method check
check: { (options?: Partial<CheckOptions>): Chainable<Subject>; ( value: string | string[], options?: Partial<CheckOptions> ): Chainable<Subject>;};
Check checkbox(es) or radio(s). This element must be an
<input>
with typecheckbox
orradio
.Example 1
// Check checkbox element cy.get('[type="checkbox"]').check() // Check first radio element cy.get('[type="radio"]').first().check()
See Also
https://on.cypress.io/check
Check checkbox(es) or radio(s). This element must be an
<input>
with typecheckbox
orradio
.Example 1
// Select the radio with the value of 'US' cy.get('[type="radio"]').check('US') // Check the checkboxes with the values 'ga' and 'ca' cy.get('[type="checkbox"]').check(['ga', 'ca'])
See Also
https://on.cypress.io/check
method children
children: { <E extends Node = HTMLElement>( options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>; <K extends keyof HTMLElementTagNameMap>( selector: K, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<HTMLElementTagNameMap[K]>>; <E extends Node = HTMLElement>( selector: string, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>;};
Get the children of each DOM element within a set of DOM elements.
See Also
https://on.cypress.io/children
method clear
clear: (options?: Partial<ClearOptions>) => Chainable<Subject>;
Clear the value of an
input
ortextarea
. An alias for.type({selectall}{del})
See Also
https://on.cypress.io/clear
method clearAllCookies
clearAllCookies: (options?: Partial<Loggable & Timeoutable>) => Chainable<null>;
Clear all browser cookies.
Cypress automatically clears all cookies _before_ each test to prevent state from being shared across tests when test isolation is enabled. You shouldn't need to use this command unless you're using it to clear all cookie inside a single test or test isolation is disabled.
See Also
https://on.cypress.io/clearallcookies
method clearAllLocalStorage
clearAllLocalStorage: (options?: Partial<Loggable>) => Chainable<null>;
Clear local storage for all origins.
Cypress automatically clears all local storage _before_ each test to prevent state from being shared across tests when test isolation is enabled. You shouldn't need to use this command unless you're using it to clear localStorage inside a single test or test isolation is disabled.
See Also
https://on.cypress.io/clearalllocalstorage
method clearAllSessionStorage
clearAllSessionStorage: (options?: Partial<Loggable>) => Chainable<null>;
Clear session storage for all origins.
See Also
https://on.cypress.io/clearallsessionstorage
method clearCookie
clearCookie: (name: string, options?: CookieOptions) => Chainable<null>;
Clear a specific browser cookie for a domain.
Cypress automatically clears all cookies _before_ each test to prevent state from being shared across tests when test isolation is enabled. You shouldn't need to use this command unless you're using it to clear a specific cookie inside a single test or test isolation is disabled.
See Also
https://on.cypress.io/clearcookie
method clearCookies
clearCookies: (options?: CookieOptions) => Chainable<null>;
Clear browser cookies for a domain.
Cypress automatically clears all cookies _before_ each test to prevent state from being shared across tests when test isolation is enabled. You shouldn't need to use this command unless you're using it to clear specific cookies inside a single test or test isolation is disabled.
See Also
https://on.cypress.io/clearcookies
method clearLocalStorage
clearLocalStorage: { (key?: string): Chainable<Storage>; (re: RegExp): Chainable<Storage>; (options: Partial<Loggable>): Chainable<Storage>; (key: string, options: Partial<Loggable>): Chainable<Storage>;};
Clear data in local storage for the current origin.
Cypress automatically clears all local storage _before_ each test to prevent state from being shared across tests when test isolation is enabled. You shouldn't need to use this command unless you're using it to clear localStorage inside a single test or test isolation is disabled.
Parameter key
name of a particular item to remove (optional).
Example 1
``` // Removes all local storage keys cy.clearLocalStorage() .should(ls => { expect(ls.getItem('prop1')).to.be.null }) // Removes item "todos" cy.clearLocalStorage("todos") ```
See Also
https://on.cypress.io/clearlocalstorage
Clear keys in local storage that match given regular expression.
Parameter re
regular expression to match.
Example 1
``` // Clears all local storage matching /app-/ cy.clearLocalStorage(/app-/) ```
See Also
https://on.cypress.io/clearlocalstorage
Clear data in local storage. Cypress automatically runs this command before each test to prevent state from being shared across tests. You shouldn't need to use this command unless you're using it to clear localStorage inside a single test. Yields
localStorage
object.Parameter object
options object
Example 1
``` // Removes all local storage items, without logging cy.clearLocalStorage({ log: false }) ```
See Also
https://on.cypress.io/clearlocalstorage
Clear data in local storage. Cypress automatically runs this command before each test to prevent state from being shared across tests. You shouldn't need to use this command unless you're using it to clear localStorage inside a single test. Yields
localStorage
object.Parameter key
name of a particular item to remove (optional).
Parameter object
options object
Example 1
``` // Removes item "todos" without logging cy.clearLocalStorage("todos", { log: false }) ```
See Also
https://on.cypress.io/clearlocalstorage
method click
click: { (options?: Partial<ClickOptions>): Chainable<Subject>; ( position: PositionType, options?: Partial<ClickOptions> ): Chainable<Subject>; (x: number, y: number, options?: Partial<ClickOptions>): Chainable<Subject>;};
Click a DOM element.
Example 1
cy.get('button').click() // Click on button cy.focused().click() // Click on el with focus cy.contains('Welcome').click() // Click on first el containing 'Welcome'
See Also
https://on.cypress.io/click
Click a DOM element at specific corner / side.
Parameter position
The position where the click should be issued. The
center
position is the default position.Example 1
cy.get('button').click('topRight')
See Also
https://on.cypress.io/click
Click a DOM element at specific coordinates
Parameter x
The distance in pixels from the element's left to issue the click.
Parameter y
The distance in pixels from the element's top to issue the click.
Example 1
``` // The click below will be issued inside of the element // (15px from the left and 40px from the top). cy.get('button').click(15, 40) ```
See Also
https://on.cypress.io/click
method clock
clock: { (): Chainable<Clock>; (now: number | Date, options?: Loggable): Chainable<Clock>; ( now: number | Date, functions?: ( | 'setTimeout' | 'clearTimeout' | 'setInterval' | 'clearInterval' | 'Date' )[], options?: Loggable ): Chainable<Clock>; (options: Loggable): Chainable<Clock>;};
cy.clock()
overrides native global functions related to time allowing them to be controlled synchronously via [cy.tick()](https://on.cypress.io/tick) or the yielded clock object. This includes controlling: *setTimeout
*clearTimeout
*setInterval
*clearInterval
*Date
ObjectsThe clock starts at the unix epoch (timestamp of 0). This means that when you instantiate new Date in your application, it will have a time of January 1st, 1970.
To restore the real clock call
.restore()
Example 1
cy.clock() ... // restore the application clock cy.clock().then(clock => { clock.restore() }) // or use this shortcut cy.clock().invoke('restore')
See Also
https://on.cypress.io/clock
Mocks global clock and sets current timestamp to the given value. Overrides all functions that deal with time.
Example 1
// in your app code $('#date').text(new Date().toJSON()) // in the spec file // March 14, 2017 timestamp or Date object const now = new Date(2017, 2, 14).getTime() cy.clock(now) cy.visit('/index.html') cy.get('#date').contains('2017-03-14') // to restore the real clock cy.clock().then(clock => { clock.restore() }) // or use this shortcut cy.clock().invoke('restore')
See Also
https://on.cypress.io/clock
Mocks global clock but only overrides specific functions.
Example 1
// keep current date but override "setTimeout" and "clearTimeout" cy.clock(null, ['setTimeout', 'clearTimeout'])
See Also
https://on.cypress.io/clock
Mocks global clock and all functions.
Example 1
// mock clock but do not log this command cy.clock({ log: false })
See Also
https://on.cypress.io/clock
method closest
closest: { <K extends keyof HTMLElementTagNameMap>( selector: K, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<HTMLElementTagNameMap[K]>>; <E extends Node = HTMLElement>( selector: string, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>;};
Get the first DOM element that matches the selector (whether it be itself or one of its ancestors).
See Also
https://on.cypress.io/closest
method contains
contains: { ( content: string | number | RegExp, options?: Partial<Loggable & Timeoutable & CaseMatchable & Shadow> ): Chainable<Subject>; <E extends Node = HTMLElement>(content: string | number | RegExp): Chainable< JQuery<E> >; <K extends keyof HTMLElementTagNameMap>( selector: K, text: string | number | RegExp, options?: Partial<Loggable & Timeoutable & CaseMatchable & Shadow> ): Chainable<JQuery<HTMLElementTagNameMap[K]>>; <E extends Node = HTMLElement>( selector: string, text: string | number | RegExp, options?: Partial<Loggable & Timeoutable & CaseMatchable & Shadow> ): Chainable<JQuery<E>>;};
Get the DOM element containing the text. DOM elements can contain more than the desired text and still match. Additionally, Cypress prefers some DOM elements over the deepest element found.
Example 1
// Yield el in .nav containing 'About' cy.get('.nav').contains('About') // Yield first el in document containing 'Hello' cy.contains('Hello') // you can use regular expression cy.contains(/^b\w+/) // yields ... cy.contains('ul', 'apples') // tries to find the given text for up to 1 second cy.contains('my text to find', {timeout: 1000})
See Also
https://on.cypress.io/contains
Get the child DOM element that contains given text.
Example 1
// Yield el in .nav containing 'About' cy.get('.nav').contains('About')
See Also
https://on.cypress.io/contains
Get the DOM element with name "selector" containing the text or regular expression.
Example 1
// yields ... cy.contains('ul', 'apples')
See Also
https://on.cypress.io/contains
Get the DOM element using CSS "selector" containing the text or regular expression.
Example 1
// yields <... class="foo">... apples ...</...> cy.contains('.foo', 'apples')
See Also
https://on.cypress.io/contains
method dblclick
dblclick: { (options?: Partial<ClickOptions>): Chainable<Subject>; ( position: PositionType, options?: Partial<ClickOptions> ): Chainable<Subject>; (x: number, y: number, options?: Partial<ClickOptions>): Chainable<Subject>;};
Double-click a DOM element.
See Also
https://on.cypress.io/dblclick
Double-click a DOM element at specific corner / side.
Parameter position
The position where the click should be issued. The
center
position is the default position.Example 1
cy.get('button').dblclick('topRight')
See Also
https://on.cypress.io/dblclick
Double-click a DOM element at specific coordinates
Parameter x
The distance in pixels from the element's left to issue the click.
Parameter y
The distance in pixels from the element's top to issue the click.
Example 1
``` // The click below will be issued inside of the element // (15px from the left and 40px from the top). cy.get('button').dblclick(15, 40) ```
See Also
https://on.cypress.io/dblclick
method debug
debug: (options?: Partial<Loggable>) => Chainable<Subject>;
Set a debugger and log what the previous command yields.
See Also
https://on.cypress.io/debug
method document
document: (options?: Partial<Loggable & Timeoutable>) => Chainable<Document>;
Get the window.document of the page that is currently active.
Example 1
cy.document() .its('contentType') .should('eq', 'text/html')
See Also
https://on.cypress.io/document
method each
each: { <E extends Node = HTMLElement>( fn: (element: JQuery<E>, index: number, $list: E[]) => void ): Chainable<JQuery<E>>; (fn: (item: any, index: number, $list: any[]) => void): Chainable<Subject>;};
Iterate through an array like structure (arrays or objects with a length property).
See Also
https://on.cypress.io/each
method end
end: () => Chainable<null>;
End a chain of commands
See Also
https://on.cypress.io/end
method eq
eq: <E extends Node = HTMLElement>( index: number, options?: Partial<Loggable & Timeoutable>) => Chainable<JQuery<E>>;
Get A DOM element at a specific index in an array of elements.
Parameter index
A number indicating the index to find the element at within an array of elements. A negative number counts index from the end of the list.
Example 1
cy.get('tbody>tr').eq(0) // Yield first 'tr' in 'tbody' cy.get('ul>li').eq('4') // Yield fifth 'li' in 'ul' cy.get('li').eq(-2) // Yields second from last 'li' element
See Also
https://on.cypress.io/eq
method exec
exec: (command: string, options?: Partial<ExecOptions>) => Chainable<Exec>;
Execute a system command.
See Also
https://on.cypress.io/exec
method filter
filter: { <K extends keyof HTMLElementTagNameMap>( selector: K, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<HTMLElementTagNameMap[K]>>; <E extends Node = HTMLElement>( selector: string, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>; <E extends Node = HTMLElement>( fn: (index: number, element: E) => boolean, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>;};
Get the DOM elements that match a specific selector. Opposite of
.not()
See Also
https://on.cypress.io/filter
method find
find: { <K extends keyof HTMLElementTagNameMap>( selector: K, options?: Partial<Loggable & Timeoutable & Shadow> ): Chainable<JQuery<HTMLElementTagNameMap[K]>>; <E extends Node = HTMLElement>( selector: string, options?: Partial<Loggable & Timeoutable & Shadow> ): Chainable<JQuery<E>>;};
Get the descendent DOM elements of a specific selector.
Example 1
cy.get('.article').find('footer') // Yield 'footer' within '.article'
See Also
https://on.cypress.io/find
Finds the descendent DOM elements with the given selector.
Example 1
// Find the li's within the nav cy.get('.left-nav>.nav').find('>li')
See Also
https://on.cypress.io/find
method first
first: (options?: Partial<Loggable & Timeoutable>) => Chainable<Subject>;
Get the first DOM element within a set of DOM elements.
See Also
https://on.cypress.io/first
method fixture
fixture: { <Contents = any>( path: string, options?: Partial<Timeoutable> ): Chainable<Contents>; <Contents = any>( path: string, encoding: Encodings, options?: Partial<Timeoutable> ): Chainable<Contents>;};
Load a fixed set of data located in a file.
See Also
https://on.cypress.io/fixture
Load a fixed set of data located in a file with given encoding.
See Also
https://on.cypress.io/fixture
method focus
focus: (options?: Partial<Loggable & Timeoutable>) => Chainable<Subject>;
Focus on a DOM element.
Example 1
cy.get('input').first().focus() // Focus on the first input
See Also
https://on.cypress.io/focus
method focused
focused: (options?: Partial<Loggable & Timeoutable>) => Chainable<JQuery>;
Get the DOM element that is currently focused.
Example 1
// Get the element that is focused cy.focused().then(function($el) { // do something with $el }) // Blur the element with focus cy.focused().blur() // Make an assertion on the focused element cy.focused().should('have.attr', 'name', 'username')
See Also
https://on.cypress.io/focused
method get
get: { <K extends keyof HTMLElementTagNameMap>( selector: K, options?: Partial<Loggable & Timeoutable & Withinable & Shadow> ): Chainable<JQuery<HTMLElementTagNameMap[K]>>; <E extends Node = HTMLElement>( selector: string, options?: Partial<Loggable & Timeoutable & Withinable & Shadow> ): Chainable<JQuery<E>>; <S = any>( alias: string, options?: Partial<Loggable & Timeoutable & Withinable & Shadow> ): Chainable<S>;};
Get one or more DOM elements by node name: input, button, etc.
Example 1
cy.get('input').should('be.disabled') cy.get('button').should('be.visible')
See Also
https://on.cypress.io/get
Get one or more DOM elements by selector. The querying behavior of this command matches exactly how $(…) works in jQuery.
Example 1
cy.get('.list>li') // Yield the 's in <.list> cy.get('ul li:first').should('have.class', 'active') cy.get('.dropdown-menu').click()
See Also
https://on.cypress.io/get
Get one or more DOM elements by alias.
Example 1
// Get the aliased 'todos' elements cy.get('ul#todos').as('todos') //...hack hack hack... //later retrieve the todos cy.get('@todos')
See Also
https://on.cypress.io/get#Alias
method getAllCookies
getAllCookies: ( options?: Partial<Loggable & Timeoutable>) => Chainable<Cookie[]>;
Get all browser cookies.
See Also
https://on.cypress.io/getallcookies
method getAllLocalStorage
getAllLocalStorage: (options?: Partial<Loggable>) => Chainable<StorageByOrigin>;
Get local storage for all origins.
See Also
https://on.cypress.io/getalllocalstorage
method getAllSessionStorage
getAllSessionStorage: ( options?: Partial<Loggable>) => Chainable<StorageByOrigin>;
Get session storage for all origins.
See Also
https://on.cypress.io/getallsessionstorage
method getCookie
getCookie: (name: string, options?: CookieOptions) => Chainable<Cookie | null>;
Get a browser cookie by its name.
See Also
https://on.cypress.io/getcookie
method getCookies
getCookies: (options?: CookieOptions) => Chainable<Cookie[]>;
Get browser cookies for a domain.
See Also
https://on.cypress.io/getcookies
method go
go: ( direction: HistoryDirection | number, options?: Partial<Loggable & Timeoutable>) => Chainable<AUTWindow>;
Navigate back or forward to the previous or next URL in the browser's history.
See Also
https://on.cypress.io/go
method hash
hash: (options?: Partial<Loggable & Timeoutable>) => Chainable<string>;
Get the current URL hash of the page that is currently active.
See Also
https://on.cypress.io/hash
method invoke
invoke: { < K extends keyof Subject, F extends ((...args: any[]) => any) & Subject[K], R = ReturnType<F> >( functionName: K, ...args: any[] ): Chainable<R>; < K extends keyof Subject, F extends ((...args: any[]) => any) & Subject[K], R = ReturnType<F> >( options: Partial<Loggable & Timeoutable>, functionName: K, ...args: any[] ): Chainable<R>; <T extends (...args: any[]) => any, Subject extends T[]>( index: number ): Chainable<ReturnType<T>>; <T extends (...args: any[]) => any, Subject extends T[]>( options: Partial<Loggable & Timeoutable>, index: number ): Chainable<ReturnType<T>>; (propertyPath: string, ...args: any[]): Chainable<any>;};
Invoke a function on the previously yielded subject.
See Also
https://on.cypress.io/invoke
Invoke a function in an array of functions.
See Also
https://on.cypress.io/invoke
Invoke a function on the previously yielded subject by a property path. Property path invocation cannot be strongly-typed. Invoking by a property path will always result in any.
See Also
https://on.cypress.io/invoke
method its
its: { <K extends keyof Subject>( propertyName: K, options?: Partial<Loggable & Timeoutable> ): Chainable<NonNullable<Subject[K]>>; ( propertyPath: string, options?: Partial<Loggable & Timeoutable> ): Chainable<any>; <T, Subject extends T[]>( index: number, options?: Partial<Loggable & Timeoutable> ): Chainable<T>;};
Get a property's value on the previously yielded subject.
Example 1
// Get the 'width' property cy.wrap({width: '50'}).its('width') // Drill into nested properties by using dot notation cy.wrap({foo: {bar: {baz: 1}}}).its('foo.bar.baz')
See Also
https://on.cypress.io/its
Get a value by index from an array yielded from the previous command.
Example 1
cy.wrap(['a', 'b']).its(1).should('equal', 'b')
See Also
https://on.cypress.io/its
method last
last: <E extends Node = HTMLElement>( options?: Partial<Loggable & Timeoutable>) => Chainable<JQuery<E>>;
Get the last DOM element within a set of DOM elements.
See Also
https://on.cypress.io/last
method location
location: { (options?: Partial<Loggable & Timeoutable>): Chainable<Location>; <K extends keyof Location>( key: K, options?: Partial<Loggable & Timeoutable> ): Chainable<Location[K]>;};
Get the global
window.location
object of the page that is currently active.Example 1
cy.location() // Get location object
See Also
https://on.cypress.io/location
Get a part of the global
window.location
object of the page that is currently active.Example 1
cy.location('host') // Get the host of the location object cy.location('port') // Get the port of the location object // Assert on the href of the location cy.location('href').should('contain', '/tag/tutorials')
See Also
https://on.cypress.io/location
method log
log: (message: string, ...args: any[]) => Chainable<null>;
Print a message to the Cypress Command Log.
See Also
https://on.cypress.io/log
method next
next: { <K extends keyof HTMLElementTagNameMap>( selector: K, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<HTMLElementTagNameMap[K]>>; <E extends Node = HTMLElement>( options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>; <E extends Node = HTMLElement>( selector: string, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>;};
Get the immediately following sibling of each DOM element within a set of DOM elements.
See Also
https://on.cypress.io/next
Get the immediately following sibling of each DOM element within a set of DOM elements.
Example 1
cy.get('nav a:first').next()
See Also
https://on.cypress.io/next
Get the immediately following sibling of each DOM element within a set of DOM elements that match selector
Example 1
cy.get('nav a:first').next('.menu-item)
See Also
https://on.cypress.io/next
method nextAll
nextAll: { <K extends keyof HTMLElementTagNameMap>( selector: K, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<HTMLElementTagNameMap[K]>>; <E extends HTMLElement = HTMLElement>( options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>; <E extends HTMLElement = HTMLElement>( selector: string, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>;};
Get all following siblings of each DOM element in a set of matched DOM elements.
See Also
https://on.cypress.io/nextall
method nextUntil
nextUntil: { <K extends keyof HTMLElementTagNameMap>( selector: K, filter?: string, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<HTMLElementTagNameMap[K]>>; <E extends Node = HTMLElement>( selector: string, filter?: string, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>; <E extends Node = HTMLElement>( element: E | JQuery<E>, filter?: string, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>;};
Get all following siblings of each DOM element in a set of matched DOM elements up to, but not including, the element provided.
See Also
https://on.cypress.io/nextuntil
method not
not: ( selector: string, options?: Partial<Loggable & Timeoutable>) => Chainable<JQuery>;
Filter DOM element(s) from a set of DOM elements. Opposite of
.filter()
See Also
https://on.cypress.io/not
method now
now: (name: string, ...args: any[]) => Promise<any> | ((subject: any) => any);
Invoke a command synchronously, without using the command queue.
See Also
https://on.cypress.io/api/custom-queries
method origin
origin: { <T extends unknown>(urlOrDomain: string, fn: () => void): Chainable<T>; <T, S extends unknown>( urlOrDomain: string, options: { args: T }, fn: (args: T) => void ): Chainable<S>;};
Enables running Cypress commands in a secondary origin.
Example 1
cy.origin('example.com', () => { cy.get('h1').should('equal', 'Example Domain') })
See Also
https://on.cypress.io/origin
Enables running Cypress commands in a secondary origin.
Example 1
cy.origin('example.com', { args: { key: 'value', foo: 'foo' } }, ({ key, foo }) => { expect(key).to.equal('value') expect(foo).to.equal('foo') })
See Also
https://on.cypress.io/origin
method parent
parent: { <K extends keyof HTMLElementTagNameMap>( selector: K, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<HTMLElementTagNameMap[K]>>; <E extends Node = HTMLElement>( options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>; <E extends Node = HTMLElement>( selector: string, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>;};
Get the parent DOM element of a set of DOM elements.
See Also
https://on.cypress.io/parent
method parents
parents: { <K extends keyof HTMLElementTagNameMap>( selector: K, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<HTMLElementTagNameMap[K]>>; <E extends Node = HTMLElement>( options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>; <E extends Node = HTMLElement>( selector: string, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>;};
Get the parent DOM elements of a set of DOM elements.
See Also
https://on.cypress.io/parents
method parentsUntil
parentsUntil: { <K extends keyof HTMLElementTagNameMap>( selector: K, filter?: string, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<HTMLElementTagNameMap[K]>>; <E extends Node = HTMLElement>( selector: string, filter?: string, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>; <E extends Node = HTMLElement>( element: E | JQuery<E>, filter?: string, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>;};
Get all ancestors of each DOM element in a set of matched DOM elements up to, but not including, the element provided.
See Also
https://on.cypress.io/parentsuntil
method pause
pause: (options?: Partial<Loggable>) => Chainable<Subject>;
Stop cy commands from running and allow interaction with the application under test. You can then "resume" running all commands or choose to step through the "next" commands from the Command Log. This does not set a
debugger
in your code, unlike.debug()
See Also
https://on.cypress.io/pause
method prev
prev: { <K extends keyof HTMLElementTagNameMap>( selector: K, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<HTMLElementTagNameMap[K]>>; <E extends Node = HTMLElement>( options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>; <E extends Node = HTMLElement>( selector: string, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>;};
Get the immediately preceding sibling of each element in a set of the elements.
Example 1
cy.get('nav').prev('a') // Yield previous 'a'
See Also
https://on.cypress.io/prev
Get the immediately preceding sibling of each element in a set of the elements.
Example 1
cy.get('li').prev() // Yield previous 'li'
See Also
https://on.cypress.io/prev
Get the immediately preceding sibling of each element in a set of the elements that match selector.
Example 1
cy.get('nav').prev('.menu-item') // Yield previous '.menu-item'
See Also
https://on.cypress.io/prev
method prevAll
prevAll: { <K extends keyof HTMLElementTagNameMap>( selector: K, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<HTMLElementTagNameMap[K]>>; <E extends Node = HTMLElement>( options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>; <E extends Node = HTMLElement>( selector: string, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>;};
Get all previous siblings of each DOM element in a set of matched DOM elements. > The querying behavior of this command matches exactly how [.prevAll()](http://api.jquery.com/prevAll) works in jQuery.
See Also
https://on.cypress.io/prevall
method prevUntil
prevUntil: { <K extends keyof HTMLElementTagNameMap>( selector: K, filter?: string, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<HTMLElementTagNameMap[K]>>; <E extends Node = HTMLElement>( selector: string, filter?: string, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>; <E extends Node = HTMLElement>( element: E | JQuery<E>, filter?: string, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>;};
Get all previous siblings of each DOM element in a set of matched DOM elements up to, but not including, the element provided. > The querying behavior of this command matches exactly how [.prevUntil()](http://api.jquery.com/prevUntil) works in jQuery.
See Also
https://on.cypress.io/prevuntil
method readFile
readFile: { <Contents = any>( filePath: string, options?: Partial<Loggable & Timeoutable> ): Chainable<Contents>; <Contents = any>( filePath: string, encoding: Encodings, options?: Partial<Loggable & Timeoutable> ): Chainable<Contents>;};
Read a file and yield its contents.
See Also
https://on.cypress.io/readfile
Read a file with given encoding and yield its contents.
Example 1
cy.readFile('foo.json', 'utf8')
See Also
https://on.cypress.io/readfile
method reload
reload: { (): Chainable<AUTWindow>; (options: Partial<Loggable & Timeoutable>): Chainable<AUTWindow>; (forceReload: boolean): Chainable<AUTWindow>; ( forceReload: boolean, options: Partial<Loggable & Timeoutable> ): Chainable<AUTWindow>;};
Reload the page.
Example 1
cy.visit('http://localhost:3000/admin') cy.reload()
See Also
https://on.cypress.io/reload
Reload the page.
Parameter options
Pass in an options object to modify the default behavior of cy.reload()
Example 1
// Reload the page, do not log it in the command log and timeout after 15s cy.visit('http://localhost:3000/admin') cy.reload({log: false, timeout: 15000})
See Also
https://on.cypress.io/reload
Reload the page without cache
Parameter forceReload
Whether to reload the current page without using the cache. true forces the reload without cache.
Example 1
// Reload the page without using the cache cy.visit('http://localhost:3000/admin') cy.reload(true)
See Also
https://on.cypress.io/reload
Reload the page without cache and with log and timeout options
Parameter forceReload
Whether to reload the current page without using the cache. true forces the reload without cache.
Parameter options
Pass in an options object to modify the default behavior of cy.reload()
Example 1
// Reload the page without using the cache, do not log it in the command log and timeout after 15s cy.visit('http://localhost:3000/admin') cy.reload(true, {log: false, timeout: 15000})
See Also
https://on.cypress.io/reload
method request
request: { <T = any>(url: string, body?: RequestBody): Chainable<Response<T>>; <T = any>(method: string, url: string, body?: RequestBody): Chainable< Response<T> >; <T = any>(options: Partial<RequestOptions>): Chainable<Response<T>>;};
Make an HTTP GET request.
Example 1
cy.request('http://dev.local/seed')
See Also
https://on.cypress.io/request
Make an HTTP request with specific method.
Example 1
cy.request('POST', 'http://localhost:8888/users', {name: 'Jane'})
See Also
https://on.cypress.io/request
Make an HTTP request with specific behavior.
Example 1
cy.request({ url: '/dashboard', followRedirect: false // turn off following redirects })
See Also
https://on.cypress.io/request
method rightclick
rightclick: { (options?: Partial<ClickOptions>): Chainable<Subject>; ( position: PositionType, options?: Partial<ClickOptions> ): Chainable<Subject>; (x: number, y: number, options?: Partial<ClickOptions>): Chainable<Subject>;};
Right-click a DOM element.
See Also
https://on.cypress.io/rightclick
Right-click a DOM element at specific corner / side.
Parameter position
The position where the click should be issued. The
center
position is the default position.Example 1
cy.get('button').rightclick('topRight')
See Also
https://on.cypress.io/click
Right-click a DOM element at specific coordinates
Parameter x
The distance in pixels from the element's left to issue the click.
Parameter y
The distance in pixels from the element's top to issue the click.
Example 1
``` // The click below will be issued inside of the element // (15px from the left and 40px from the top). cy.get('button').rightclick(15, 40) ```
See Also
https://on.cypress.io/rightclick
method root
root: <E extends Node = HTMLHtmlElement>( options?: Partial<Loggable>) => Chainable<JQuery<E>>;
Get the root DOM element. The root element yielded is
<html>
by default. However, when calling.root()
from a.within()
command, the root element will point to the element you are "within".See Also
https://on.cypress.io/root
method screenshot
screenshot: { ( options?: Partial<Loggable & Timeoutable & ScreenshotOptions> ): Chainable<Subject>; ( fileName: string, options?: Partial<Loggable & Timeoutable & ScreenshotOptions> ): Chainable<Subject>;};
Take a screenshot of the application under test and the Cypress Command Log.
Example 1
cy.screenshot() cy.get(".post").screenshot()
See Also
https://on.cypress.io/screenshot
Take a screenshot of the application under test and the Cypress Command Log and save under given filename.
Example 1
cy.screenshot("post-element") cy.get(".post").screenshot("post-element")
See Also
https://on.cypress.io/screenshot
method scrollIntoView
scrollIntoView: (options?: Partial<ScrollIntoViewOptions>) => Chainable<Subject>;
Scroll an element into view.
See Also
https://on.cypress.io/scrollintoview
method scrollTo
scrollTo: { ( position: PositionType, options?: Partial<ScrollToOptions> ): Chainable<Subject>; ( x: string | number, y: string | number, options?: Partial<ScrollToOptions> ): Chainable<Subject>;};
Scroll to a specific position.
See Also
https://on.cypress.io/scrollto
Scroll to a specific X,Y position.
See Also
https://on.cypress.io/scrollto
method select
select: ( valueOrTextOrIndex: string | number | Array<string | number>, options?: Partial<SelectOptions>) => Chainable<Subject>;
Select an
<option>
with specific text, value, or index within a<select>
.See Also
https://on.cypress.io/select
method selectFile
selectFile: ( files: FileReference | FileReference[], options?: Partial<SelectFileOptions>) => Chainable<Subject>;
Select a file with the given element, or drag and drop a file over any DOM subject.
Parameter files
The file(s) to select or drag onto this element.
Example 1
cy.get('input[type=file]').selectFile(Cypress.Buffer.from('text')) cy.get('input[type=file]').selectFile({ fileName: 'users.json', contents: [{name: 'John Doe'}] })
See Also
https://on.cypress.io/selectfile
method session
session: ( id: string | object, setup: () => void, options?: SessionOptions) => Chainable<null>;
Save/Restore browser Cookies, LocalStorage, and SessionStorage data resulting from the supplied
setup
function.See Also
https://on.cypress.io/session
method setCookie
setCookie: ( name: string, value: string, options?: Partial<SetCookieOptions>) => Chainable<Cookie>;
Set a browser cookie.
See Also
https://on.cypress.io/setcookie
method shadow
shadow: () => Chainable<Subject>;
Traverse into an element's shadow root.
Example 1
cy.get('my-component') .shadow() .find('.my-button') .click()
See Also
https://on.cypress.io/shadow
method siblings
siblings: { <K extends keyof HTMLElementTagNameMap>( selector: K, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<HTMLElementTagNameMap[K]>>; <E extends Node = HTMLElement>( options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>; <E extends Node = HTMLElement>( selector: string, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>;};
Get sibling DOM elements.
Example 1
cy.get('td').siblings('a') // Yield all link siblings of "td"
See Also
https://on.cypress.io/siblings
Get all sibling DOM elements.
Example 1
cy.get('td').siblings() // Yield all siblings of "td"
See Also
https://on.cypress.io/siblings
Get all sibling DOM elements that match given selector.
Example 1
// Yield all elements with class "foo" that are siblings of "td" cy.get('td').siblings('.foo')
See Also
https://on.cypress.io/siblings
method spread
spread: { <S extends string | number | boolean | object | any[]>( fn: (...args: any[]) => S ): Chainable<S>; (fn: (...args: any[]) => void): Chainable<Subject>;};
Expand an array into multiple arguments.
Example 1
cy.getCookies().spread((cookie1, cookie2, cookie3) => { // each cookie is now an individual argument })
See Also
https://on.cypress.io/spread
method spy
spy: { (): Agent<sinon.SinonSpy>; (func: (...args: any[]) => any): Agent<sinon.SinonSpy<any[], any>>; <T>(obj: T, method: keyof T): Agent<sinon.SinonSpy<any[], any>>;};
Returns a new spy function. > Note:
.spy()
assumes you are already familiar with our guide: [Stubs, Spies, and Clocks](https://on.cypress.io/stubs-spies-and-clocks)Example 1
const fn = cy.spy() // returns "dumb" spy function fn(42) expect(fn).to.have.been.calledOnce expect(fn).to.have.always.been.calledWithExactly(42)
See Also
https://on.cypress.io/spy
Wraps existing function and spies on it, while passing arguments and results.
Example 1
const add = (a, b) => a + b const spy = cy.spy(add) expect(spy(2, 3)).to.equal(5) expect(spy).to.have.been.calledWithExactly(2, 3)
See Also
https://on.cypress.io/spy
Spy on a method.
Example 1
// assume App.start calls util.addListeners cy.spy(util, 'addListeners') App.start() expect(util.addListeners).to.be.called
See Also
https://on.cypress.io/spy
method stub
stub: { (): Agent<sinon.SinonStub>; (obj: any): Agent<sinon.SinonStub<any[], any>>; <T>(obj: T, method: keyof T): Agent<sinon.SinonStub<any[], any>>; <T>(obj: T, method: keyof T, func: (...args: any[]) => any): Agent< sinon.SinonStub<any[], any> >;};
Replace a function, record its usage and control its behavior. > Note:
.stub()
assumes you are already familiar with our guide: [Stubs, Spies, and Clocks](https://on.cypress.io/stubs-spies-and-clocks)Example 1
const fn = cy.stub() // stub without any arguments acts like a spy fn(42) expect(fn).to.have.been.calledOnce expect(fn).to.have.always.been.calledWithExactly(42)
See Also
https://on.cypress.io/stub
Stubs all the object's methods.
Example 1
const o = { toString () { return 'foo' } } expect(o.toString()).to.equal('foo') cy.stub(o) // because stub does not call original function expect(o.toString()).to.equal(undefined) expect(o.toString).to.have.been.calledOnce
See Also
https://on.cypress.io/stub
Stubs single method of an object.
Example 1
const o = {} expect(o.toString()).to.equal('[object Object]') cy.stub(o, 'toString').callsFake(() => 'foo') expect(o.toString()).to.equal('foo') expect(o.toString).to.have.been.calledOnce
See Also
https://on.cypress.io/stub
Stubs a method on an object
Deprecated
Use
cy.stub(object, name).callsFake(fn)
instead
method submit
submit: (options?: Partial<Loggable & Timeoutable>) => Chainable<Subject>;
Submit a form.
See Also
https://on.cypress.io/submit
method task
task: <S = unknown>( event: string, arg?: any, options?: Partial<Loggable & Timeoutable>) => Chainable<S>;
Run a task in Node via the plugins file.
See Also
https://on.cypress.io/api/task
method then
then: { <S>( fn: (this: ObjectLike, currentSubject: Subject) => Chainable<S> ): Chainable<S>; <S>( options: Partial<Timeoutable>, fn: (this: ObjectLike, currentSubject: Subject) => Chainable<S> ): Chainable<S>; <S>( fn: (this: ObjectLike, currentSubject: Subject) => PromiseLike<S> ): Chainable<S>; <S>( options: Partial<Timeoutable>, fn: (this: ObjectLike, currentSubject: Subject) => PromiseLike<S> ): Chainable<S>; <S extends string | number | boolean>( fn: (this: ObjectLike, currentSubject: Subject) => S ): Chainable<S>; <S extends HTMLElement>( fn: (this: ObjectLike, currentSubject: Subject) => S ): Chainable<JQuery<S>>; <S extends ArrayLike<HTMLElement>>( fn: (this: ObjectLike, currentSubject: Subject) => S ): Chainable<JQuery<S extends ArrayLike<infer T> ? T : never>>; <S extends object | any[]>( fn: (this: ObjectLike, currentSubject: Subject) => S ): Chainable<S>; <S>(fn: (this: ObjectLike, currentSubject: Subject) => S): ThenReturn< Subject, S >; <S extends HTMLElement>( options: Partial<Timeoutable>, fn: (this: ObjectLike, currentSubject: Subject) => S ): Chainable<JQuery<S>>; <S extends ArrayLike<HTMLElement>>( options: Partial<Timeoutable>, fn: (this: ObjectLike, currentSubject: Subject) => S ): Chainable<JQuery<S extends ArrayLike<infer T> ? T : never>>; <S extends string | number | boolean | object | any[]>( options: Partial<Timeoutable>, fn: (this: ObjectLike, currentSubject: Subject) => S ): Chainable<S>; <S>( options: Partial<Timeoutable>, fn: (this: ObjectLike, currentSubject: Subject) => S ): ThenReturn<Subject, S>; ( fn: (this: ObjectLike, currentSubject: Subject) => void ): Chainable<Subject>; ( options: Partial<Timeoutable>, fn: (this: ObjectLike, currentSubject: Subject) => void ): Chainable<Subject>;};
Enables you to work with the subject yielded from the previous command.
See Also
https://on.cypress.io/then
Enables you to work with the subject yielded from the previous command / promise.
See Also
https://on.cypress.io/then
Enables you to work with the subject yielded from the previous command.
Example 1
cy.get('.nav').then(($nav) => {}) // Yields .nav as first arg cy.location().then((loc) => {}) // Yields location object as first arg
See Also
https://on.cypress.io/then
method tick
tick: (milliseconds: number, options?: Partial<Loggable>) => Chainable<Clock>;
Move time after overriding a native time function with [cy.clock()](https://on.cypress.io/clock).
cy.clock()
must be called beforecy.tick()
Example 1
cy.clock() ... // advance time by 10 minutes cy.tick(600*1000) // you can restore the real clock cy.tick(1000).then(clock => { clock.restore() }) // or use this shortcut cy.tick(5000).invoke('restore')
See Also
https://on.cypress.io/clock
method title
title: (options?: Partial<Loggable & Timeoutable>) => Chainable<string>;
Get the
document.title
property of the page that is currently active.See Also
https://on.cypress.io/title
method trigger
trigger: { <K extends keyof DocumentEventMap>( eventName: K, options?: Partial<TriggerOptions & ObjectLike & DocumentEventMap[K]> ): Chainable<Subject>; <K extends keyof DocumentEventMap>( eventName: K, position?: PositionType, options?: Partial<TriggerOptions & ObjectLike & DocumentEventMap[K]> ): Chainable<Subject>; <K extends keyof DocumentEventMap>( eventName: K, x: number, y: number, options?: Partial<TriggerOptions & ObjectLike & DocumentEventMap[K]> ): Chainable<Subject>; ( eventName: string, position?: PositionType, options?: Partial<TriggerOptions & ObjectLike> ): Chainable<Subject>; ( eventName: string, options?: Partial<TriggerOptions & ObjectLike> ): Chainable<Subject>; ( eventName: string, x: number, y: number, options?: Partial<TriggerOptions & ObjectLike> ): Chainable<Subject>;};
Trigger an event on a DOM element.
See Also
https://on.cypress.io/trigger
Trigger an event on a DOM element. Custom events... If the following were
.triggerCustom
,.trigger
strongly typed with event dataExample 1
cy.get('a').trigger('mousedown')
See Also
https://on.cypress.io/trigger
method type
type: (text: string, options?: Partial<TypeOptions>) => Chainable<Subject>;
Type into a DOM element.
Example 1
cy.get('input').type('Hello, World') // type "hello" + press Enter cy.get('input').type('hello{enter}')
See Also
https://on.cypress.io/type
method uncheck
uncheck: { (options?: Partial<CheckOptions>): Chainable<Subject>; (value: string, options?: Partial<CheckOptions>): Chainable<Subject>; (values: string[], options?: Partial<CheckOptions>): Chainable<Subject>;};
Uncheck checkbox(es).
Example 1
// Unchecks checkbox element cy.get('[type="checkbox"]').uncheck() // Uncheck element with the id 'saveUserName' cy.get('#saveUserName').uncheck() // Uncheck all checkboxes cy.get(':checkbox').uncheck() // Uncheck the checkbox with the value of 'ga' cy.get('input[type="checkbox"]').uncheck(['ga'])
See Also
https://on.cypress.io/uncheck
Uncheck specific checkbox.
Example 1
// Uncheck the checkbox with the value of 'ga' cy.get('input[type="checkbox"]').uncheck('ga')
See Also
https://on.cypress.io/uncheck
Uncheck specific checkboxes.
Example 1
// Uncheck the checkbox with the value of 'ga', 'ma' cy.get('input[type="checkbox"]').uncheck(['ga', 'ma'])
See Also
https://on.cypress.io/uncheck
method url
url: (options?: Partial<UrlOptions>) => Chainable<string>;
Get the current URL of the page that is currently active.
cy.location('href')
See Also
https://on.cypress.io/url
method viewport
viewport: { ( preset: ViewportPreset, orientation?: ViewportOrientation, options?: Partial<Loggable> ): Chainable<null>; ( width: number, height: number, options?: Partial<Loggable> ): Chainable<null>;};
Control the size and orientation of the screen for your application.
Example 1
// Set viewport to 550px x 750px cy.viewport(550, 750) // Set viewport to 357px x 667px cy.viewport('iphone-6')
See Also
https://on.cypress.io/viewport
Set viewport to the given resolution.
Example 1
// Set viewport to 550px x 750px cy.viewport(550, 750)
See Also
https://on.cypress.io/viewport
method visit
visit: { (url: string, options?: Partial<VisitOptions>): Chainable<AUTWindow>; (options: Partial<VisitOptions> & { url: string }): Chainable<AUTWindow>;};
Visit the given url
Parameter url
The URL to visit. If relative uses
baseUrl
Parameter options
Pass in an options object to change the default behavior of
cy.visit()
Example 1
cy.visit('http://localhost:3000') cy.visit('/somewhere') // opens ${baseUrl}/somewhere cy.visit({ url: 'http://google.com', method: 'POST' })
See Also
https://on.cypress.io/visit
method wait
wait: { (ms: number, options?: Partial<Loggable & Timeoutable>): Chainable<Subject>; <TRequest = any, TResponse = any>( alias: string, options?: Partial<WaitOptions> ): Chainable<Interception<TRequest, TResponse>>; (aliases: string[], options?: Partial<WaitOptions>): Chainable< Interception<any, any>[] >;};
Wait for a number of milliseconds. You almost never need to wait for an arbitrary period of time. There are always better ways to express this in Cypress, see the documentation.
Parameter ms
Milliseconds to wait.
Example 1
cy.wait(1000) // wait for 1 second
See Also
https://on.cypress.io/wait
method window
window: (options?: Partial<Loggable & Timeoutable>) => Chainable<AUTWindow>;
Get the window object of the page that is currently active.
Example 1
``` cy.visit('http://localhost:8080/app') cy.window().then(function(win){ // win is the remote window // of the page at: http://localhost:8080/app }) ```
See Also
https://on.cypress.io/window
method within
within: { (fn: (currentSubject: Subject) => void): Chainable<Subject>; ( options: Partial<Loggable>, fn: (currentSubject: Subject) => void ): Chainable<Subject>;};
Scopes all subsequent cy commands to within this element. Useful when working within a particular group of elements such as a
<form>
.Example 1
``` cy.get('form').within(($form) => { // cy.get() will only search for elements within form, // not within the entire document cy.get('input[name="username"]').type('john') cy.get('input[name="password"]').type('password') cy.root().submit() }) ```
See Also
https://on.cypress.io/within
Scopes all subsequent cy commands to within this element. Useful when working within a particular group of elements such as a
<form>
.See Also
https://on.cypress.io/within
method wrap
wrap: { <E extends Node = HTMLElement>( element: E | JQuery<E>, options?: Partial<Loggable & Timeoutable> ): Chainable<JQuery<E>>; <F extends Promise<S>, S>( promise: F, options?: Partial<Loggable & Timeoutable> ): Chainable<S>; <S>(object: S, options?: Partial<Loggable & Timeoutable>): Chainable<S>;};
Yield the element passed into
.wrap()
.Example 1
``` // wraps DOM element cy.get('form').within(($form) => { // more commands cy.wrap($form).should('have.class', 'form-container') }) ```
See Also
https://on.cypress.io/wrap
Yield the element passed into
.wrap()
to the next command in the Cypress chain.Example 1
``` cy.wrap(new Promise((resolve, reject) => { setTimeout(resolve, 1000); }).then(result => {}) ```
See Also
https://on.cypress.io/wrap
Yields whatever is passed into
.wrap()
to the next command in the Cypress chain.Example 1
``` // Make assertions about object cy.wrap({ amount: 10 }) .should('have.property', 'amount') .and('eq', 10) ```
See Also
https://on.cypress.io/wrap
method writeFile
writeFile: { ( filePath: string, contents: FileContents, encoding: Encodings ): Chainable<null>; ( filePath: string, contents: FileContents, options?: Partial<WriteFileOptions & Timeoutable> ): Chainable<null>; ( filePath: string, contents: FileContents, encoding: Encodings, options?: Partial<WriteFileOptions & Timeoutable> ): Chainable<null>;};
Write to a file with the specified contents.
See Also
https://on.cypress.io/writefile ``` cy.writeFile('path/to/message.txt', 'Hello World') ```
Write to a file with the specified encoding and contents.
See Also
https://on.cypress.io/writefile ``` cy.writeFile('path/to/ascii.txt', 'Hello World', { flag: 'a+', encoding: 'ascii' }) ```
Write to a file with the specified encoding and contents.
An
encoding
option inoptions
will override theencoding
argument.See Also
https://on.cypress.io/writefile ``` cy.writeFile('path/to/ascii.txt', 'Hello World', 'utf8', { flag: 'a+', }) ```
interface Chainer
interface Chainer<Subject> {}
See Also
https://on.cypress.io/should
Chainer Subject
call signature
(chainer: 'be.a', type: string): Chainable<Subject>;
Asserts that the target's
type
is equal to the given string type. Types are case insensitive. See thetype-detect
project page for info on the type detection algorithm: https://github.com/chaijs/type-detect.Example 1
cy.wrap('foo').should('be.a', 'string')
See Also
http://chaijs.com/api/bdd/#method_a
https://on.cypress.io/assertions
call signature
(chainer: 'be.above', value: number | Date): Chainable<Subject>;
Asserts that the target is a number or a date greater than the given number or date n respectively. However, it's often best to assert that the target is equal to its expected value.
Example 1
cy.wrap(6).should('be.above', 5)
See Also
http://chaijs.com/api/bdd/#method_above
https://on.cypress.io/assertions
call signature
(chainer: 'be.false'): Chainable<Subject>;
Asserts that the target is strictly (
===
) equal tofalse
.Example 1
cy.wrap(false).should('be.false')
See Also
http://chaijs.com/api/bdd/#method_false
https://on.cypress.io/assertions
call signature
(chainer: 'not.equal', value: any): Chainable<Subject>;
Asserts that the target is not strictly (
===
) equal to the givenval
.Example 1
cy.wrap(1).should('not.equal', 2)
See Also
http://chaijs.com/api/bdd/#method_equal
https://on.cypress.io/assertions
call signature
( chainer: | 'not.have.all.keys' | 'not.have.keys' | 'not.have.deep.keys' | 'not.have.all.deep.keys', ...value: string[]): Chainable<Subject>;
Causes all
.keys
assertions that follow in the chain to not require that the target have all of the given keys. This is the opposite of.any
, which only requires that the target have at least one of the given keys.Example 1
cy.wrap({ a: 1, b: 2 }).should('not.have.all.keys', 'c', 'd')
See Also
http://chaijs.com/api/bdd/#method_all
https://on.cypress.io/assertions
call signature
( chainer: 'not.have.any.keys' | 'not.include.any.keys', ...value: string[]): Chainable<Subject>;
Causes all
.keys
assertions that follow in the chain to only require that the target not have at least one of the given keys. This is the opposite of.all
, which requires that the target have all of the given keys.Example 1
cy.wrap({ a: 1, b: 2 }).should('not.have.any.keys', 'c')
See Also
http://chaijs.com/api/bdd/#method_any
https://on.cypress.io/assertions
call signature
( chainer: 'not.have.deep.property', value: string, obj: object): Chainable<Subject>;
Asserts that the target does not have a property with the given key
name
. See thedeep-eql
project page for info on the deep equality algorithm: https://github.com/chaijs/deep-eql.Example 1
cy.wrap({ x: {a: 1 }}).should('not.have.deep.property', 'y', { a: 1 })
See Also
http://chaijs.com/api/bdd/#method_property
https://on.cypress.io/assertions
call signature
( chainer: 'not.have.length' | 'not.have.lengthOf', value: number): Chainable<Subject>;
Asserts that the target's
length
property is not equal to the given numbern
.Example 1
cy.wrap([1, 2, 3]).should('not.have.length', 2) cy.wrap('foo').should('not.have.length', 2) lengthOf
See Also
http://chaijs.com/api/bdd/#method_lengthof
https://on.cypress.io/assertions
call signature
( chainer: 'not.have.length.greaterThan' | 'not.have.lengthOf.greaterThan', value: number): Chainable<Subject>;
Asserts that the target's
length
property is not greater than to the given numbern
.Example 1
cy.wrap([1, 2, 3]).should('not.have.length.greaterThan', 4) cy.wrap('foo').should('not.have.length.greaterThan', 4)
See Also
http://chaijs.com/api/bdd/#method_lengthof
https://on.cypress.io/assertions
call signature
( chainer: | 'not.have.length.gt' | 'not.have.lengthOf.gt' | 'not.have.length.above' | 'not.have.lengthOf.above', value: number): Chainable<Subject>;
Asserts that the target's
length
property is not greater than to the given numbern
.Example 1
cy.wrap([1, 2, 3]).should('not.have.length.gt', 4) cy.wrap('foo').should('not.have.length.gt', 4)
See Also
http://chaijs.com/api/bdd/#method_lengthof
https://on.cypress.io/assertions
call signature
( chainer: | 'not.have.length.gte' | 'not.have.lengthOf.gte' | 'not.have.length.at.least' | 'not.have.lengthOf.at.least', value: number): Chainable<Subject>;
Asserts that the target's
length
property is not greater than or equal to the given numbern
.Example 1
cy.wrap([1, 2, 3]).should('not.have.length.gte', 4) cy.wrap('foo').should('not.have.length.gte', 4)
See Also
http://chaijs.com/api/bdd/#method_lengthof
https://on.cypress.io/assertions
call signature
( chainer: 'not.have.length.lessThan' | 'not.have.lengthOf.lessThan', value: number): Chainable<Subject>;
Asserts that the target's
length
property is less than to the given numbern
.Example 1
cy.wrap([1, 2, 3]).should('have.length.lessThan', 2) cy.wrap('foo').should('have.length.lessThan', 2)
See Also
http://chaijs.com/api/bdd/#method_lengthof
https://on.cypress.io/assertions
call signature
( chainer: | 'not.have.length.lt' | 'not.have.lengthOf.lt' | 'not.have.length.below' | 'not.have.lengthOf.below', value: number): Chainable<Subject>;
Asserts that the target's
length
property is not less than to the given numbern
.Example 1
cy.wrap([1, 2, 3]).should('not.have.length.lt', 2) cy.wrap('foo').should('not.have.length.lt', 2)
See Also
http://chaijs.com/api/bdd/#method_lengthof
https://on.cypress.io/assertions
call signature
(chainer: 'be.greaterThan', value: number): Chainable<Subject>;
Asserts that the target is a number or a date greater than the given number or date n respectively. However, it's often best to assert that the target is equal to its expected value.
Example 1
cy.wrap(6).should('be.greaterThan', 5) above
See Also
http://chaijs.com/api/bdd/#method_above
https://on.cypress.io/assertions
call signature
( chainer: | 'not.have.length.lte' | 'not.have.lengthOf.lte' | 'not.have.length.at.most' | 'not.have.lengthOf.at.most', value: number): Chainable<Subject>;
Asserts that the target's
length
property is not less than or equal to the given numbern
.Example 1
cy.wrap([1, 2, 3]).should('not.have.length.lte', 2) cy.wrap('foo').should('not.have.length.lte', 2)
See Also
http://chaijs.com/api/bdd/#method_lengthof
https://on.cypress.io/assertions
call signature
( chainer: 'not.have.length.within' | 'not.have.lengthOf.within', start: number, finish: number): Chainable<Subject>;
Asserts that the target's
length
property is withinstart
andfinish
.Example 1
cy.wrap([1, 2, 3]).should('not.have.length.within', 6, 12)
See Also
http://chaijs.com/api/bdd/#method_lengthof
https://on.cypress.io/assertions
call signature
( chainer: 'not.have.members' | 'not.have.deep.members', values: any[]): Chainable<Subject>;
Asserts that the target array does not have the same members as the given array
set
.Example 1
cy.wrap([1, 2, 3]).should('not.have.members', [4, 5, 6])
See Also
http://chaijs.com/api/bdd/#method_members
https://on.cypress.io/assertions
call signature
(chainer: 'not.have.ordered.members', values: any[]): Chainable<Subject>;
Asserts that the target array does not have the same members as the given array where order matters.
Example 1
cy.wrap([1, 2, 3]).should('not. have.ordered.members', [4, 5, 6])
See Also
http://chaijs.com/api/bdd/#method_members
https://on.cypress.io/assertions
call signature
(chainer: 'not.have.ownProperty', property: string): Chainable<Subject>;
Causes all
.property
and.include
assertions that follow in the chain to ignore inherited properties.Example 1
Object.prototype.b = 2 cy.wrap({ a: 1 }).should('have.property', 'a').and('not.have.ownProperty', 'b')
See Also
http://chaijs.com/api/bdd/#method_ownproperty
https://on.cypress.io/assertions
call signature
( chainer: | 'not.have.property' | 'not.have.nested.property' | 'not.have.own.property' | 'not.have.a.property' | 'not.have.deep.property' | 'not.have.deep.own.property' | 'not.have.deep.nested.property', property: string, value?: any): Chainable<Subject>;
Asserts that the target has a property with the given key
name
.Example 1
cy.wrap({ a: 1 }).should('not.have.property', 'b') cy.wrap({ a: 1 }).should('not.have.property', 'b', 1)
See Also
http://chaijs.com/api/bdd/#method_property
https://on.cypress.io/assertions
call signature
( chainer: 'not.have.ownPropertyDescriptor' | 'not.haveOwnPropertyDescriptor', name: string, descriptor?: PropertyDescriptor): Chainable<Subject>;
Asserts that the target has its own property descriptor with the given key name.
Example 1
cy.wrap({a: 1}).should('not.have.ownPropertyDescriptor', 'a', { value: 2 })
See Also
http://chaijs.com/api/bdd/#method_ownpropertydescriptor
https://on.cypress.io/assertions
call signature
(chainer: 'not.have.string', match: string | RegExp): Chainable<Subject>;
Asserts that the target string does not contains the given substring
str
.Example 1
cy.wrap('foobar').should('not.have.string', 'baz')
See Also
http://chaijs.com/api/bdd/#method_string
https://on.cypress.io/assertions
call signature
( chainer: | 'not.include' | 'not.deep.include' | 'not.nested.include' | 'not.own.include' | 'not.deep.own.include' | 'not.deep.nested.include', value: any): Chainable<Subject>;
When the target is a string,
.include
asserts that the given stringval
is not a substring of the target.Example 1
cy.wrap('foobar').should('not.include', 'baz')
See Also
http://chaijs.com/api/bdd/#method_include
https://on.cypress.io/assertions
call signature
( chainer: | 'not.include.members' | 'not.include.ordered.members' | 'not.include.deep.ordered.members', value: any[]): Chainable<Subject>;
When the target is a string,
.include
asserts that the given stringval
is not a substring of the target.Example 1
cy.wrap([1, 2, 3]).should('not.include.members', [4, 5])
See Also
http://chaijs.com/api/bdd/#method_members
https://on.cypress.io/assertions
call signature
(chainer: 'be.gt', value: number): Chainable<Subject>;
Asserts that the target is a number or a date greater than the given number or date n respectively. However, it's often best to assert that the target is equal to its expected value.
Example 1
cy.wrap(6).should('be.gt', 5) above
See Also
http://chaijs.com/api/bdd/#method_above
https://on.cypress.io/assertions
call signature
(chainer: 'not.increase', value: object, property?: string): Chainable<Subject>;
When one argument is provided,
.increase
asserts that the given functionsubject
returns a greater number when it's invoked after invoking the target function compared to when it's invoked beforehand..increase
also causes all.by
assertions that follow in the chain to assert how much greater of a number is returned. It's often best to assert that the return value increased by the expected amount, rather than asserting it increased by any amount.When two arguments are provided,
.increase
asserts that the value of the given objectsubject
'sprop
property is greater after invoking the target function compared to beforehand.Example 1
let val = 1 function addTwo() { val += 2 } function getVal() { return val } cy.wrap(() => {}).should('not.increase', getVal)
const myObj = { val: 1 } function addTwo() { myObj.val += 2 } cy.wrap(addTwo).should('increase', myObj, 'val')
See Also
http://chaijs.com/api/bdd/#method_increase
https://on.cypress.io/assertions
call signature
(chainer: 'not.match', value: RegExp): Chainable<Subject>;
Asserts that the target does not match the given regular expression
re
.Example 1
cy.wrap('foobar').should('not.match', /baz$/)
See Also
http://chaijs.com/api/bdd/#method_match
https://on.cypress.io/assertions
call signature
(chainer: 'not.respondTo', value: string): Chainable<Subject>;
When the target is a non-function object,
.respondTo
asserts that the target does not have amethod
with the given name method. The method can be own or inherited, and it can be enumerable or non-enumerable.Example 1
class Cat { meow() {} } cy.wrap(new Cat()).should('not.respondTo', 'bark')
See Also
http://chaijs.com/api/bdd/#method_respondto
https://on.cypress.io/assertions
call signature
(chainer: 'not.satisfy', fn: (val: any) => boolean): Chainable<Subject>;
Invokes the given
matcher
function with the target being passed as the first argument, and asserts that the value returned is falsy.Example 1
cy.wrap(1).should('not.satisfy', (num) => num < 0)
See Also
http://chaijs.com/api/bdd/#method_satisfy
https://on.cypress.io/assertions
call signature
(chainer: 'not.throw', value?: string | RegExp): Chainable<Subject>;
When no arguments are provided,
.throw
invokes the target function and asserts that no error is thrown. When one argument is provided, and it's a string,.throw
invokes the target function and asserts that no error is thrown with a message that contains that string.Example 1
function badFn() { console.log('Illegal salmon!') } cy.wrap(badFn).should('not.throw') cy.wrap(badFn).should('not.throw', 'salmon') cy.wrap(badFn).should('not.throw', /salmon/)
See Also
http://chaijs.com/api/bdd/#method_throw
https://on.cypress.io/assertions
call signature
( chainer: 'not.throw', error: Error | Function, expected?: string | RegExp): Chainable<Subject>;
When no arguments are provided,
.throw
invokes the target function and asserts that no error is thrown. When one argument is provided, and it's a string,.throw
invokes the target function and asserts that no error is thrown with a message that contains that string.Example 1
function badFn() { console.log('Illegal salmon!') } cy.wrap(badFn).should('not.throw') cy.wrap(badFn).should('not.throw', 'salmon') cy.wrap(badFn).should('not.throw', /salmon/)
See Also
http://chaijs.com/api/bdd/#method_throw
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.oneOf', list: ReadonlyArray<any>): Chainable<Subject>;
Asserts that the target is a member of the given array list.
Example 1
cy.wrap(42).should('not.be.oneOf', [1, 2, 3])
See Also
http://chaijs.com/api/bdd/#method_oneof
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.extensible'): Chainable<Subject>;
Asserts that the target is extensible, which means that new properties can be added to it.
Example 1
let o = Object.seal({}) cy.wrap(o).should('not.be.extensible')
See Also
http://chaijs.com/api/bdd/#method_extensible
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.sealed'): Chainable<Subject>;
Asserts that the target is sealed, which means that new properties can't be added to it, and its existing properties can't be reconfigured or deleted.
Example 1
cy.wrap({a: 1}).should('be.sealed') cy.wrap({a: 1}).should('be.sealed')
See Also
http://chaijs.com/api/bdd/#method_sealed
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.frozen'): Chainable<Subject>;
Asserts that the target is frozen, which means that new properties can't be added to it, and its existing properties can't be reassigned to different values, reconfigured, or deleted.
Example 1
cy.wrap({a: 1}).should('not.be.frozen')
See Also
http://chaijs.com/api/bdd/#method_frozen
https://on.cypress.io/assertions
call signature
(chainer: 'be.gte', value: number): Chainable<Subject>;
Asserts that the target is a number or a
n
date greater than or equal to the given number or date n respectively. However, it's often best to assert that the target is equal to its expected value.Example 1
cy.wrap(6).should('be.gte', 5) least
See Also
http://chaijs.com/api/bdd/#method_least
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.finite'): Chainable<Subject>;
Asserts that the target is a number, and isn't
NaN
or positive/negativeInfinity
.Example 1
cy.wrap(NaN).should('not.be.finite') cy.wrap(Infinity).should('not.be.finite')
See Also
http://chaijs.com/api/bdd/#method_finite
https://on.cypress.io/assertions
call signature
( chainer: 'be.always.calledWithNew' | 'always.have.been.calledWithNew'): Chainable<Subject>;
Assert spy/stub was called the
new
operator. Beware that this is inferred based on the value of the this object and the spy function's prototype, so it may give false positives if you actively return the right kind of object.See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledwithnew
https://on.cypress.io/assertions
call signature
( chainer: 'be.always.calledWithMatch' | 'always.have.been.calledWithMatch', ...args: any[]): Chainable<Subject>;
Assert if spy was always called with matching arguments (and possibly others).
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spyalwayscalledwithmatcharg1-arg2-
https://on.cypress.io/assertions
call signature
( chainer: 'always.returned' | 'have.always.returned', value: any): Chainable<Subject>;
Assert spy always returned the provided value.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spyalwaysreturnedobj
https://on.cypress.io/assertions
call signature
(chainer: 'be.called' | 'have.been.called'): Chainable<Subject>;
true
if the spy was called at least onceSee Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalled
https://on.cypress.io/assertions
call signature
( chainer: 'be.calledAfter' | 'have.been.calledAfter', spy: sinon.SinonSpy): Chainable<Subject>;
Assert spy was called after
anotherSpy
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledafteranotherspy
https://on.cypress.io/assertions
call signature
( chainer: 'be.calledBefore' | 'have.been.calledBefore', spy: sinon.SinonSpy): Chainable<Subject>;
Assert spy was called before
anotherSpy
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledbeforeanotherspy
https://on.cypress.io/assertions
call signature
( chainer: 'be.calledOn' | 'have.been.calledOn', context: any): Chainable<Subject>;
Assert spy was called at least once with
obj
asthis
.calledOn
also accepts a matcher (see [matchers](http://sinonjs.org/releases/v4.1.3/spies/#matchers)).See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledonobj
https://on.cypress.io/assertions
call signature
(chainer: 'be.calledOnce' | 'have.been.calledOnce'): Chainable<Subject>;
Assert spy was called exactly once
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledonce
https://on.cypress.io/assertions
call signature
(chainer: 'be.calledThrice' | 'have.been.calledThrice'): Chainable<Subject>;
Assert spy was called exactly three times
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledthrice
https://on.cypress.io/assertions
call signature
(chainer: 'be.lessThan', value: number): Chainable<Subject>;
Asserts that the target is a number or a
n
date less than or equal to the given number or date n respectively. However, it's often best to assert that the target is equal to its expected value.Example 1
cy.wrap(4).should('be.lessThan', 5) below
See Also
http://chaijs.com/api/bdd/#method_below
https://on.cypress.io/assertions
call signature
(chainer: 'be.calledTwice' | 'have.been.calledTwice'): Chainable<Subject>;
Assert spy was called exactly twice
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledtwice
https://on.cypress.io/assertions
call signature
( chainer: 'be.calledWithExactly' | 'have.been.calledWithExactly', ...args: any[]): Chainable<Subject>;
Assert spy was called at least once with the provided arguments and no others.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledwithexactlyarg1-arg2-
https://on.cypress.io/assertions
call signature
( chainer: 'be.calledWithMatch' | 'have.been.calledWithMatch', ...args: any[]): Chainable<Subject>;
Assert spy was called with matching arguments (and possibly others).
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledwithmatcharg1-arg2-
https://on.cypress.io/assertions
call signature
(chainer: 'be.calledWithNew' | 'have.been.calledWithNew'): Chainable<Subject>;
Assert spy/stub was called the
new
operator. Beware that this is inferred based on the value of the this object and the spy function's prototype, so it may give false positives if you actively return the right kind of object.See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledwithnew
https://on.cypress.io/assertions
call signature
( chainer: 'have.always.thrown', value?: Error | typeof Error | string): Chainable<Subject>;
Assert spy always threw an exception.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spyalwaysthrew
https://on.cypress.io/assertions
call signature
(chainer: 'have.callCount', value: number): Chainable<Subject>;
Assert the number of calls.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycallcount
https://on.cypress.io/assertions
call signature
( chainer: 'have.thrown', value?: Error | typeof Error | string): Chainable<Subject>;
Assert spy threw an exception at least once.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spythrew
https://on.cypress.io/assertions
call signature
(chainer: 'returned' | 'have.returned', value: any): Chainable<Subject>;
Assert spy returned the provided value at least once. (see [matchers](http://sinonjs.org/releases/v4.1.3/spies/#matchers))
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spyreturnedobj
https://on.cypress.io/assertions
call signature
( chainer: 'be.calledImmediatelyBefore' | 'have.been.calledImmediatelyBefore', anotherSpy: sinon.SinonSpy): Chainable<Subject>;
Assert spy was called before anotherSpy, and no spy calls occurred between spy and anotherSpy.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledimmediatelybeforeanotherspy
https://on.cypress.io/assertions
call signature
( chainer: 'be.calledImmediatelyAfter' | 'have.been.calledImmediatelyAfter', anotherSpy: sinon.SinonSpy): Chainable<Subject>;
Assert spy was called after anotherSpy, and no spy calls occurred between anotherSpy and spy.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledimmediatelyafteranotherspy
https://on.cypress.io/assertions
call signature
(chainer: 'be.lt', value: number): Chainable<Subject>;
Asserts that the target is a number or a
n
date less than or equal to the given number or date n respectively. However, it's often best to assert that the target is equal to its expected value.Example 1
cy.wrap(4).should('be.lt', 5) below
See Also
http://chaijs.com/api/bdd/#method_below
https://on.cypress.io/assertions
call signature
( chainer: 'be.always.calledOn' | 'always.have.been.calledOn', obj: any): Chainable<Subject>;
Assert the spy was always called with obj as this
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spyalwayscalledonobj
https://on.cypress.io/assertions
call signature
( chainer: 'be.calledWith' | 'have.been.calledWith', ...args: any[]): Chainable<Subject>;
Assert spy was called at least once with the provided arguments.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledwitharg1-arg2-
https://on.cypress.io/assertions
call signature
( chainer: 'be.always.calledWith' | 'always.have.been.calledWith', ...args: any[]): Chainable<Subject>;
Assert spy was always called with the provided arguments (and possibly others).
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spyalwayscalledwitharg1-arg2-
https://on.cypress.io/assertions
call signature
( chainer: 'be.calledOnceWith' | 'have.been.calledOnceWith', ...args: any[]): Chainable<Subject>;
Assert spy was called at exactly once with the provided arguments.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledwitharg1-arg2-
https://on.cypress.io/assertions
call signature
( chainer: 'be.always.calledWithExactly' | 'have.been.calledWithExactly', ...args: any[]): Chainable<Subject>;
Assert spy was always called with the exact provided arguments.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spyalwayscalledwithexactlyarg1-arg2-
https://on.cypress.io/assertions
call signature
( chainer: 'be.calledOnceWithExactly' | 'have.been.calledOnceWithExactly', ...args: any[]): Chainable<Subject>;
Assert spy was called at exactly once with the provided arguments.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#
https://on.cypress.io/assertions
call signature
(chainer: 'have.always.returned', obj: any): Chainable<Subject>;
Assert spy always returned the provided value.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#
https://on.cypress.io/assertions
call signature
( chainer: 'not.be.always.calledWithNew' | 'not.always.have.been.calledWithNew'): Chainable<Subject>;
Assert spy/stub was not called the
new
operator. Beware that this is inferred based on the value of the this object and the spy function's prototype, so it may give false positives if you actively return the right kind of object.See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledwithnew
https://on.cypress.io/assertions
call signature
( chainer: | 'not.be.always.calledWithMatch' | 'not.always.have.been.calledWithMatch', ...args: any[]): Chainable<Subject>;
Assert if spy was not always called with matching arguments (and possibly others).
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spyalwayscalledwithmatcharg1-arg2-
https://on.cypress.io/assertions
call signature
( chainer: 'not.always.returned' | 'not.have.always.returned', value: any): Chainable<Subject>;
Assert spy not always returned the provided value.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spyalwaysreturnedobj
https://on.cypress.io/assertions
call signature
(chainer: 'be.lte', value: number): Chainable<Subject>;
Asserts that the target is a number or a date less than or equal to the given number or date n respectively. However, it's often best to assert that the target is equal to its expected value.
Example 1
cy.wrap(4).should('be.lte', 5) most
See Also
http://chaijs.com/api/bdd/#method_most
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.called' | 'not.have.been.called'): Chainable<Subject>;
true
if the spy was not called at least onceSee Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalled
https://on.cypress.io/assertions
call signature
( chainer: 'not.be.calledAfter' | 'not.have.been.calledAfter', spy: sinon.SinonSpy): Chainable<Subject>;
Assert spy was not.called after
anotherSpy
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledafteranotherspy
https://on.cypress.io/assertions
call signature
( chainer: 'not.be.calledBefore' | 'not.have.been.calledBefore', spy: sinon.SinonSpy): Chainable<Subject>;
Assert spy was not called before
anotherSpy
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledbeforeanotherspy
https://on.cypress.io/assertions
call signature
( chainer: 'not.be.calledOn' | 'not.have.been.calledOn', context: any): Chainable<Subject>;
Assert spy was not called at least once with
obj
asthis
.calledOn
also accepts a matcher (see [matchers](http://sinonjs.org/releases/v4.1.3/spies/#matchers)).See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledonobj
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.calledOnce' | 'not.have.been.calledOnce'): Chainable<Subject>;
Assert spy was not called exactly once
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledonce
https://on.cypress.io/assertions
call signature
( chainer: 'not.be.calledThrice' | 'not.have.been.calledThrice'): Chainable<Subject>;
Assert spy was not called exactly three times
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledthrice
https://on.cypress.io/assertions
call signature
( chainer: 'not.be.calledTwice' | 'not.have.been.calledTwice'): Chainable<Subject>;
Assert spy was not called exactly twice
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledtwice
https://on.cypress.io/assertions
call signature
( chainer: 'not.be.calledWithExactly' | 'not.have.been.calledWithExactly', ...args: any[]): Chainable<Subject>;
Assert spy was not called at least once with the provided arguments and no others.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledwithexactlyarg1-arg2-
https://on.cypress.io/assertions
call signature
( chainer: 'not.be.calledWithMatch' | 'not.have.been.calledWithMatch', ...args: any[]): Chainable<Subject>;
Assert spy was not called with matching arguments (and possibly others).
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledwithmatcharg1-arg2-
https://on.cypress.io/assertions
call signature
( chainer: 'not.be.calledWithNew' | 'not.have.been.calledWithNew'): Chainable<Subject>;
Assert spy/stub was not called the
new
operator. Beware that this is inferred based on the value of the this object and the spy function's prototype, so it may give false positives if you actively return the right kind of object.See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledwithnew
https://on.cypress.io/assertions
call signature
(chainer: 'be.ok'): Chainable<Subject>;
Asserts that the target is loosely (
==
) equal totrue
. However, it's often best to assert that the target is strictly (===
) or deeply equal to its expected value.Example 1
cy.wrap(1).should('be.ok')
See Also
http://chaijs.com/api/bdd/#method_ok
https://on.cypress.io/assertions
call signature
( chainer: 'not.have.always.thrown', value?: Error | typeof Error | string): Chainable<Subject>;
Assert spy did not always throw an exception.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spyalwaysthrew
https://on.cypress.io/assertions
call signature
(chainer: 'not.have.callCount', value: number): Chainable<Subject>;
Assert not the number of calls.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycallcount
https://on.cypress.io/assertions
call signature
( chainer: 'not.have.thrown', value?: Error | typeof Error | string): Chainable<Subject>;
Assert spy did not throw an exception at least once.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spythrew
https://on.cypress.io/assertions
call signature
(chainer: 'not.returned' | 'not.have.returned', value: any): Chainable<Subject>;
Assert spy did not return the provided value at least once. (see [matchers](http://sinonjs.org/releases/v4.1.3/spies/#matchers))
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spyreturnedobj
https://on.cypress.io/assertions
call signature
( chainer: | 'not.be.calledImmediatelyBefore' | 'not.have.been.calledImmediatelyBefore', anotherSpy: sinon.SinonSpy): Chainable<Subject>;
Assert spy was called before anotherSpy, and no spy calls occurred between spy and anotherSpy.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledimmediatelybeforeanotherspy
https://on.cypress.io/assertions
call signature
( chainer: | 'not.be.calledImmediatelyAfter' | 'not.have.been.calledImmediatelyAfter', anotherSpy: sinon.SinonSpy): Chainable<Subject>;
Assert spy was called after anotherSpy, and no spy calls occurred between anotherSpy and spy.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledimmediatelyafteranotherspy
https://on.cypress.io/assertions
call signature
( chainer: 'not.be.always.calledOn' | 'not.always.have.been.calledOn', obj: any): Chainable<Subject>;
Assert the spy was always called with obj as this
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spyalwayscalledonobj
https://on.cypress.io/assertions
call signature
( chainer: 'not.be.calledWith' | 'not.have.been.calledWith', ...args: any[]): Chainable<Subject>;
Assert spy was called at least once with the provided arguments.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledwitharg1-arg2-
https://on.cypress.io/assertions
call signature
( chainer: 'not.be.always.calledWith' | 'not.always.have.been.calledWith', ...args: any[]): Chainable<Subject>;
Assert spy was always called with the provided arguments (and possibly others).
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spyalwayscalledwitharg1-arg2-
https://on.cypress.io/assertions
call signature
( chainer: 'not.be.calledOnceWith' | 'not.have.been.calledOnceWith', ...args: any[]): Chainable<Subject>;
Assert spy was called at exactly once with the provided arguments.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spycalledwitharg1-arg2-
https://on.cypress.io/assertions
call signature
(chainer: 'be.true'): Chainable<Subject>;
Asserts that the target is strictly (
===
) equal to true.Example 1
cy.wrap(true).should('be.true')
See Also
http://chaijs.com/api/bdd/#method_true
https://on.cypress.io/assertions
call signature
( chainer: | 'not.be.always.calledWithExactly' | 'not.have.been.calledWithExactly', ...args: any[]): Chainable<Subject>;
Assert spy was always called with the exact provided arguments.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#spyalwayscalledwithexactlyarg1-arg2-
https://on.cypress.io/assertions
call signature
( chainer: | 'not.be.calledOnceWithExactly' | 'not.have.been.calledOnceWithExactly', ...args: any[]): Chainable<Subject>;
Assert spy was called at exactly once with the provided arguments.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#
https://on.cypress.io/assertions
call signature
(chainer: 'not.have.always.returned', obj: any): Chainable<Subject>;
Assert spy always returned the provided value.
See Also
http://sinonjs.org/releases/v4.1.3/spies/#
https://on.cypress.io/assertions
call signature
(chainer: 'be.checked'): Chainable<Subject>;
Assert that at least one element of the selection is checked, using
.is(':checked')
.Example 1
cy.get('#result').should('be.checked')
See Also
http://chaijs.com/plugins/chai-jquery/#checked
https://on.cypress.io/assertions
call signature
(chainer: 'be.disabled'): Chainable<Subject>;
Assert that at least one element of the selection is disabled, using
.is(':disabled')
.Example 1
cy.get('#result').should('be.disabled')
See Also
http://chaijs.com/plugins/chai-jquery/#disabled
https://on.cypress.io/assertions
call signature
(chainer: 'be.empty'): Chainable<Subject>;
Assert that at least one element of the selection is empty, using
.is(':empty')
. If the object asserted against is not a jQuery object, the original implementation will be called.Example 1
cy.get('#result').should('be.empty')
See Also
http://chaijs.com/plugins/chai-jquery/#empty
https://on.cypress.io/assertions
call signature
(chainer: 'be.enabled'): Chainable<Subject>;
Assert that at least one element of the selection is enabled, using
.is(':enabled')
.Example 1
cy.get('#result').should('be.enabled')
See Also
http://chaijs.com/plugins/chai-jquery/#enabled
https://on.cypress.io/assertions
call signature
(chainer: 'be.hidden'): Chainable<Subject>;
Assert that at least one element of the selection is hidden, using
.is(':hidden')
.Example 1
cy.get('#result').should('be.hidden')
See Also
http://chaijs.com/plugins/chai-jquery/#hidden
https://on.cypress.io/assertions
call signature
(chainer: 'be.selected'): Chainable<Subject>;
Assert that at least one element of the selection is selected, using
.is(':selected')
.Example 1
cy.get('#result').should('be.selected')
See Also
http://chaijs.com/plugins/chai-jquery/#selected
https://on.cypress.io/assertions
call signature
(chainer: 'be.visible'): Chainable<Subject>;
Assert that at least one element of the selection is visible, using
.is(':visible')
.Example 1
cy.get('#result').should('be.visible')
See Also
http://chaijs.com/plugins/chai-jquery/#visible
https://on.cypress.io/assertions
call signature
(chainer: 'be.undefined'): Chainable<Subject>;
Asserts that the target is strictly (
===
) equal to undefined.Example 1
cy.wrap(undefined).should('be.undefined')
See Also
http://chaijs.com/api/bdd/#method_undefined
https://on.cypress.io/assertions
call signature
(chainer: 'contain', value: string): Chainable<Subject>;
Assert that the selection contains the given text, using
:contains()
. If the object asserted against is not a jQuery object, or ifcontain
is not called as a function, the original implementation will be called.Example 1
cy.get('#result').should('contain', 'text')
See Also
http://chaijs.com/plugins/chai-jquery/#containtext
https://on.cypress.io/assertions
call signature
(chainer: 'have.focus'): Chainable<Subject>;
Assert that at least one element of the selection is focused.
Example 1
cy.get('#result').should('have.focus') cy.get('#result').should('be.focused')
See Also
https://on.cypress.io/assertions
call signature
(chainer: 'be.focused'): Chainable<Subject>;
Assert that at least one element of the selection is focused.
Example 1
cy.get('#result').should('be.focused') cy.get('#result').should('have.focus')
See Also
https://on.cypress.io/assertions
call signature
(chainer: 'exist'): Chainable<Subject>;
Assert that the selection is not empty. Note that this overrides the built-in chai assertion. If the object asserted against is not a jQuery object, the original implementation will be called.
Example 1
cy.get('#result').should('exist')
See Also
http://chaijs.com/plugins/chai-jquery/#exist
https://on.cypress.io/assertions
call signature
(chainer: 'have.attr', value: string, match?: string): Chainable<Subject>;
Assert that the first element of the selection has the given attribute, using
.attr()
. Optionally, assert a particular value as well. The return value is available for chaining.Example 1
cy.get('#result').should('have.attr', 'role') cy.get('#result').should('have.attr', 'role', 'menu')
See Also
http://chaijs.com/plugins/chai-jquery/#attrname-value
https://on.cypress.io/assertions
call signature
(chainer: 'have.class', value: string): Chainable<Subject>;
Assert that the first element of the selection has the given attribute, using
.attr()
. Optionally, assert a particular value as well. The return value is available for chaining.Example 1
cy.get('#result').should('have.class', 'success')
See Also
http://chaijs.com/plugins/chai-jquery/#classclassname
https://on.cypress.io/assertions
call signature
(chainer: 'have.css', value: string, match?: string): Chainable<Subject>;
Assert that the first element of the selection has the given CSS property, using
.css()
. Optionally, assert a particular value as well. The return value is available for chaining.Example 1
cy.get('#result').should('have.css', 'display', 'none')
See Also
http://chaijs.com/plugins/chai-jquery/#cssname-value
https://on.cypress.io/assertions
call signature
(chainer: 'have.data', value: string, match?: string): Chainable<Subject>;
Assert that the first element of the selection has the given data value, using
.data()
. Optionally, assert a particular value as well. The return value is available for chaining.Example 1
cy.get('#result').should('have.data', 'foo', 'bar')
See Also
http://chaijs.com/plugins/chai-jquery/#dataname-value
https://on.cypress.io/assertions
call signature
(chainer: 'have.descendants', selector: string): Chainable<Subject>;
Assert that the selection contains at least one element which has a descendant matching the given selector, using
.has()
.Example 1
cy.get('#result').should('have.descendants', 'h1')
See Also
http://chaijs.com/plugins/chai-jquery/#descendantsselector
https://on.cypress.io/assertions
call signature
(chainer: 'have.html', value: string): Chainable<Subject>;
Assert that the html of the first element of the selection is equal to the given html, using
.html()
.Example 1
cy.get('#result').should('have.html', 'John Doe')
See Also
http://chaijs.com/plugins/chai-jquery/#htmlhtml
https://on.cypress.io/assertions
call signature
(chainer: 'be.an', value: string): Chainable<Subject>;
Asserts that the target's
type
is equal to the given string type. Types are case insensitive. See thetype-detect
project page for info on the type detection algorithm: https://github.com/chaijs/type-detect.Example 1
cy.wrap({ foo: 'bar' }).should('be.an', 'object') a
See Also
http://chaijs.com/api/bdd/#method_a
https://on.cypress.io/assertions
call signature
(chainer: 'be.null'): Chainable<Subject>;
Asserts that the target is strictly (
===
) equal to null.Example 1
cy.wrap(null).should('be.null')
See Also
http://chaijs.com/api/bdd/#method_null
https://on.cypress.io/assertions
call signature
(chainer: 'contain.html', value: string): Chainable<Subject>;
Assert that the html of the first element of the selection partially contains the given html, using
.html()
.Example 1
cy.get('#result').should('contain.html', 'John Doe')
See Also
http://chaijs.com/plugins/chai-jquery/#htmlhtml
https://on.cypress.io/assertions
call signature
(chainer: 'include.html', value: string): Chainable<Subject>;
Assert that the html of the first element of the selection partially contains the given html, using
.html()
.Example 1
cy.get('#result').should('include.html', 'John Doe')
See Also
http://chaijs.com/plugins/chai-jquery/#htmlhtml
https://on.cypress.io/assertions
call signature
(chainer: 'have.id', value: string, match?: string): Chainable<Subject>;
Assert that the first element of the selection has the given id, using
.attr('id')
.Example 1
cy.get('#result').should('have.id', 'result')
See Also
http://chaijs.com/plugins/chai-jquery/#idid
https://on.cypress.io/assertions
call signature
(chainer: 'have.prop', value: string, match?: any): Chainable<Subject>;
Assert that the first element of the selection has the given property, using
.prop()
. Optionally, assert a particular value as well. The return value is available for chaining.Example 1
cy.get('#result').should('have.prop', 'disabled') cy.get('#result').should('have.prop', 'disabled', false)
See Also
http://chaijs.com/plugins/chai-jquery/#propname-value
https://on.cypress.io/assertions
call signature
(chainer: 'have.text', value: string): Chainable<Subject>;
Assert that the text of the first element of the selection is equal to the given text, using
.text()
.Example 1
cy.get('#result').should('have.text', 'John Doe')
See Also
http://chaijs.com/plugins/chai-jquery/#texttext
https://on.cypress.io/assertions
call signature
(chainer: 'contain.text', value: string): Chainable<Subject>;
Assert that the text of the first element of the selection partially contains the given text, using
.text()
.Example 1
cy.get('#result').should('contain.text', 'John Doe')
See Also
http://chaijs.com/plugins/chai-jquery/#texttext
https://on.cypress.io/assertions
call signature
(chainer: 'include.text', value: string): Chainable<Subject>;
Assert that the text of the first element of the selection partially contains the given text, using
.text()
.Example 1
cy.get('#result').should('include.text', 'John Doe')
See Also
http://chaijs.com/plugins/chai-jquery/#texttext
https://on.cypress.io/assertions
call signature
(chainer: 'have.value', value: string): Chainable<Subject>;
Assert that the first element of the selection has the given value, using
.val()
.Example 1
cy.get('textarea').should('have.value', 'foo bar baz')
See Also
http://chaijs.com/plugins/chai-jquery/#valuevalue
https://on.cypress.io/assertions
call signature
(chainer: 'contain.value', value: string): Chainable<Subject>;
Assert that the first element of the selection partially contains the given value, using
.val()
.Example 1
cy.get('textarea').should('contain.value', 'foo bar baz')
See Also
http://chaijs.com/plugins/chai-jquery/#valuevalue
https://on.cypress.io/assertions
call signature
(chainer: 'include.value', value: string): Chainable<Subject>;
Assert that the first element of the selection partially contains the given value, using
.val()
.Example 1
cy.get('textarea').should('include.value', 'foo bar baz')
See Also
http://chaijs.com/plugins/chai-jquery/#valuevalue
https://on.cypress.io/assertions
call signature
(chainer: 'be.NaN'): Chainable<Subject>;
Asserts that the target is strictly (
===
) equal to NaN.Example 1
cy.wrap(NaN).should('be.NaN')
See Also
http://chaijs.com/api/bdd/#method_null
https://on.cypress.io/assertions
call signature
(chainer: 'match', value: string): Chainable<Subject>;
Assert that the selection matches a given selector, using
.is()
. Note that this overrides the built-in chai assertion. If the object asserted against is not a jQuery object, the original implementation will be called.Example 1
cy.get('#result').should('match', ':empty')
See Also
http://chaijs.com/plugins/chai-jquery/#matchselector
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.checked'): Chainable<Subject>;
Assert that at least one element of the selection is not checked, using
.is(':checked')
.Example 1
cy.get('#result').should('not.be.checked')
See Also
http://chaijs.com/plugins/chai-jquery/#checked
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.disabled'): Chainable<Subject>;
Assert that at least one element of the selection is not disabled, using
.is(':disabled')
.Example 1
cy.get('#result').should('not.be.disabled')
See Also
http://chaijs.com/plugins/chai-jquery/#disabled
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.empty'): Chainable<Subject>;
Assert that at least one element of the selection is not empty, using
.is(':empty')
. If the object asserted against is not a jQuery object, the original implementation will be called.Example 1
cy.get('#result').should('not.be.empty')
See Also
http://chaijs.com/plugins/chai-jquery/#empty
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.enabled'): Chainable<Subject>;
Assert that at least one element of the selection is not enabled, using
.is(':enabled')
.Example 1
cy.get('#result').should('not.be.enabled')
See Also
http://chaijs.com/plugins/chai-jquery/#enabled
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.hidden'): Chainable<Subject>;
Assert that at least one element of the selection is not hidden, using
.is(':hidden')
.Example 1
cy.get('#result').should('not.be.hidden')
See Also
http://chaijs.com/plugins/chai-jquery/#hidden
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.selected'): Chainable<Subject>;
Assert that at least one element of the selection is not selected, using
.is(':selected')
.Example 1
cy.get('#result').should('not.be.selected')
See Also
http://chaijs.com/plugins/chai-jquery/#selected
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.visible'): Chainable<Subject>;
Assert that at least one element of the selection is not visible, using
.is(':visible')
.Example 1
cy.get('#result').should('not.be.visible')
See Also
http://chaijs.com/plugins/chai-jquery/#visible
https://on.cypress.io/assertions
call signature
(chainer: 'not.have.focus'): Chainable<Subject>;
Assert that no element of the selection is focused.
Example 1
cy.get('#result').should('not.have.focus') cy.get('#result').should('not.be.focused')
See Also
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.focused'): Chainable<Subject>;
Assert that no element of the selection is focused.
Example 1
cy.get('#result').should('not.be.focused') cy.get('#result').should('not.have.focus')
See Also
https://on.cypress.io/assertions
call signature
(chainer: 'be.within', start: number, end: number): Chainable<Subject>;
Asserts that the target is a number or a date greater than or equal to the given number or date
start
, and less than or equal to the given number or datefinish
respectively. However, it's often best to assert that the target is equal to its expected value.Example 1
cy.wrap(6).should('be.within', 5, 10)
See Also
http://chaijs.com/api/bdd/#method_within
https://on.cypress.io/assertions
call signature
(chainer: 'not.contain', value: string): Chainable<Subject>;
Assert that the selection does not contain the given text, using
:contains()
. If the object asserted against is not a jQuery object, or ifcontain
is not called as a function, the original implementation will be called.Example 1
cy.get('#result').should('not.contain', 'text')
See Also
http://chaijs.com/plugins/chai-jquery/#containtext
https://on.cypress.io/assertions
call signature
(chainer: 'not.exist'): Chainable<Subject>;
Assert that the selection is empty. Note that this overrides the built-in chai assertion. If the object asserted against is not a jQuery object, the original implementation will be called.
Example 1
cy.get('#result').should('not.exist')
See Also
http://chaijs.com/plugins/chai-jquery/#exist
https://on.cypress.io/assertions
call signature
(chainer: 'not.have.attr', value: string, match?: string): Chainable<Subject>;
Assert that the first element of the selection does not have the given attribute, using
.attr()
. Optionally, assert a particular value as well. The return value is available for chaining.Example 1
cy.get('#result').should('not.have.attr', 'role') cy.get('#result').should('not.have.attr', 'role', 'menu')
See Also
http://chaijs.com/plugins/chai-jquery/#attrname-value
https://on.cypress.io/assertions
call signature
(chainer: 'not.have.class', value: string): Chainable<Subject>;
Assert that the first element of the selection does not have the given attribute, using
.attr()
. Optionally, assert a particular value as well. The return value is available for chaining.Example 1
cy.get('#result').should('not.have.class', 'success')
See Also
http://chaijs.com/plugins/chai-jquery/#classclassname
https://on.cypress.io/assertions
call signature
(chainer: 'not.have.css', value: string, match?: string): Chainable<Subject>;
Assert that the first element of the selection does not have the given CSS property, using
.css()
. Optionally, assert a particular value as well. The return value is available for chaining.Example 1
cy.get('#result').should('not.have.css', 'display', 'none')
See Also
http://chaijs.com/plugins/chai-jquery/#cssname-value
https://on.cypress.io/assertions
call signature
(chainer: 'not.have.data', value: string, match?: string): Chainable<Subject>;
Assert that the first element of the selection does not have the given data value, using
.data()
. Optionally, assert a particular value as well. The return value is available for chaining.Example 1
cy.get('#result').should('not.have.data', 'foo', 'bar')
See Also
http://chaijs.com/plugins/chai-jquery/#dataname-value
https://on.cypress.io/assertions
call signature
(chainer: 'not.have.descendants', selector: string): Chainable<Subject>;
Assert that the selection does not contain at least one element which has a descendant matching the given selector, using
.has()
.Example 1
cy.get('#result').should('not.have.descendants', 'h1')
See Also
http://chaijs.com/plugins/chai-jquery/#descendantsselector
https://on.cypress.io/assertions
call signature
(chainer: 'not.have.html', value: string): Chainable<Subject>;
Assert that the html of the first element of the selection is not equal to the given html, using
.html()
.Example 1
cy.get('#result').should('not.have.html', 'John Doe')
See Also
http://chaijs.com/plugins/chai-jquery/#htmlhtml
https://on.cypress.io/assertions
call signature
(chainer: 'not.contain.html', value: string): Chainable<Subject>;
Assert that the html of the first element of the selection does not contain the given html, using
.html()
.Example 1
cy.get('#result').should('not.contain.html', 'John Doe')
See Also
http://chaijs.com/plugins/chai-jquery/#htmlhtml
https://on.cypress.io/assertions
call signature
(chainer: 'not.include.html', value: string): Chainable<Subject>;
Assert that the html of the first element of the selection does not contain the given html, using
.html()
.Example 1
cy.get('#result').should('not.include.html', 'John Doe')
See Also
http://chaijs.com/plugins/chai-jquery/#htmlhtml
https://on.cypress.io/assertions
call signature
(chainer: 'be.within', start: Date, end: Date): Chainable<Subject>;
call signature
(chainer: 'not.have.id', value: string, match?: string): Chainable<Subject>;
Assert that the first element of the selection does not have the given id, using
.attr('id')
.Example 1
cy.get('#result').should('not.have.id', 'result')
See Also
http://chaijs.com/plugins/chai-jquery/#idid
https://on.cypress.io/assertions
call signature
(chainer: 'not.have.prop', value: string, match?: any): Chainable<Subject>;
Assert that the first element of the selection does not have the given property, using
.prop()
. Optionally, assert a particular value as well. The return value is available for chaining.Example 1
cy.get('#result').should('not.have.prop', 'disabled') cy.get('#result').should('not.have.prop', 'disabled', false)
See Also
http://chaijs.com/plugins/chai-jquery/#propname-value
https://on.cypress.io/assertions
call signature
(chainer: 'not.have.text', value: string): Chainable<Subject>;
Assert that the text of the first element of the selection is not equal to the given text, using
.text()
.Example 1
cy.get('#result').should('not.have.text', 'John Doe')
See Also
http://chaijs.com/plugins/chai-jquery/#texttext
https://on.cypress.io/assertions
call signature
(chainer: 'not.contain.text', value: string): Chainable<Subject>;
Assert that the text of the first element of the selection does not contain the given text, using
.text()
.Example 1
cy.get('#result').should('not.contain.text', 'John Doe')
See Also
http://chaijs.com/plugins/chai-jquery/#texttext
https://on.cypress.io/assertions
call signature
(chainer: 'not.include.text', value: string): Chainable<Subject>;
Assert that the text of the first element of the selection does not contain the given text, using
.text()
.Example 1
cy.get('#result').should('not.include.text', 'John Doe')
See Also
http://chaijs.com/plugins/chai-jquery/#texttext
https://on.cypress.io/assertions
call signature
(chainer: 'not.have.value', value: string): Chainable<Subject>;
Assert that the first element of the selection does not have the given value, using
.val()
.Example 1
cy.get('textarea').should('not.have.value', 'foo bar baz')
See Also
http://chaijs.com/plugins/chai-jquery/#valuevalue
https://on.cypress.io/assertions
call signature
(chainer: 'not.contain.value', value: string): Chainable<Subject>;
Assert that the first element of the selection does not contain the given value, using
.val()
.Example 1
cy.get('textarea').should('not.contain.value', 'foo bar baz')
See Also
http://chaijs.com/plugins/chai-jquery/#valuevalue
https://on.cypress.io/assertions
call signature
(chainer: 'not.include.value', value: string): Chainable<Subject>;
Assert that the first element of the selection does not contain the given value, using
.val()
.Example 1
cy.get('textarea').should('not.include.value', 'foo bar baz')
See Also
http://chaijs.com/plugins/chai-jquery/#valuevalue
https://on.cypress.io/assertions
call signature
(chainer: 'not.match', value: string): Chainable<Subject>;
Assert that the selection does not match a given selector, using
.is()
. Note that this overrides the built-in chai assertion. If the object asserted against is not a jQuery object, the original implementation will be called.Example 1
cy.get('#result').should('not.match', ':empty')
See Also
http://chaijs.com/plugins/chai-jquery/#matchselector
https://on.cypress.io/assertions
call signature
(chainers: string, value?: any): Chainable<Subject>;
Create an assertion. Assertions are automatically retried until they pass or time out. Ctrl+Space will invoke auto-complete in most editors.
See Also
https://on.cypress.io/should
call signature
(chainer: 'change', fn: (...args: any[]) => any): Chainable<Subject>;
When one argument is provided,
.change
asserts that the given functionsubject
returns a different value when it's invoked before the target function compared to when it's invoked afterward. However, it's often best to assert thatsubject
is equal to its expected value.Example 1
let dots = '' function addDot() { dots += '.' } function getDots() { return dots } cy.wrap(addDot).should('change', getDots)
See Also
http://chaijs.com/api/bdd/#method_change
https://on.cypress.io/assertions
call signature
(chainers: string, value: any, match: any): Chainable<Subject>;
call signature
(fn: (currentSubject: Subject) => void): Chainable<Subject>;
Create an assertion. Assertions are automatically retried until they pass or time out. Passing a function to
.should()
enables you to make multiple assertions on the yielded subject. This also gives you the opportunity to massage what you'd like to assert on. Just be sure _not_ to include any code that has side effects in your callback function. The callback function will be retried over and over again until no assertions within it throw.Example 1
cy .get('p') .should(($p) => { // should have found 3 elements expect($p).to.have.length(3)
// make sure the first contains some text content expect($p.first()).to.contain('Hello World')
// use jquery's map to grab all of their classes // jquery's map returns a new jquery object const classes = $p.map((i, el) => { return Cypress.$(el).attr('class') })
// call classes.get() to make this a plain array expect(classes.get()).to.deep.eq([ 'text-primary', 'text-danger', 'text-default' ]) })
See Also
https://on.cypress.io/should
call signature
(chainer: 'change', obj: object, prop: string): Chainable<Subject>;
When two arguments are provided,
.change
asserts that the value of the given objectsubject
'sprop
property is different before invoking the target function compared to afterward.Example 1
const myObj = { dots: '' } function addDot() { myObj.dots += '.' } cy.wrap(addDot).should('change', myObj, 'dots')
See Also
http://chaijs.com/api/bdd/#method_change
https://on.cypress.io/assertions
call signature
(chainer: 'contain', value: any): Chainable<Subject>;
When the target is a string,
.include
asserts that the given string val is a substring of the target.Example 1
cy.wrap('tester').should('contain', 'test') include
See Also
http://chaijs.com/api/bdd/#method_include
https://on.cypress.io/assertions
call signature
(chainer: 'decrease', fn: (...args: any[]) => any): Chainable<Subject>;
When one argument is provided,
.decrease
asserts that the given functionsubject
returns a lesser number when it's invoked after invoking the target function compared to when it's invoked beforehand..decrease
also causes all.by
assertions that follow in the chain to assert how much lesser of a number is returned. It's often best to assert that the return value decreased by the expected amount, rather than asserting it decreased by any amount.Example 1
let val = 1 function subtractTwo() { val -= 2 } function getVal() { return val } cy.wrap(subtractTwo).should('decrease', getVal)
See Also
http://chaijs.com/api/bdd/#method_decrease
https://on.cypress.io/assertions
call signature
(chainer: 'decrease', obj: object, prop: string): Chainable<Subject>;
When two arguments are provided,
.decrease
asserts that the value of the given objectsubject
'sprop
property is lesser after invoking the target function compared to beforehand.Example 1
let val = 1 function subtractTwo() { val -= 2 } function getVal() { return val } cy.wrap(subtractTwo).should('decrease', getVal)
See Also
http://chaijs.com/api/bdd/#method_decrease
https://on.cypress.io/assertions
call signature
(chainer: 'deep.equal', value: Subject): Chainable<Subject>;
Causes all
.equal
,.include
,.members
,.keys
, and.property
assertions that follow in the chain to use deep equality instead of strict (===
) equality. See thedeep-eql
project page for info on the deep equality algorithm: https://github.com/chaijs/deep-eql.Example 1
cy.wrap({ a: 1 }).should('deep.equal', { a: 1 })
See Also
http://chaijs.com/api/bdd/#method_deep
https://on.cypress.io/assertions
call signature
(chainer: 'be.at.least', value: number | Date): Chainable<Subject>;
Asserts that the target is a number or a
n
date greater than or equal to the given number or date n respectively. However, it's often best to assert that the target is equal to its expected value.Example 1
cy.wrap(6).should('be.at.least', 5)
See Also
http://chaijs.com/api/bdd/#method_least
https://on.cypress.io/assertions
call signature
(chainer: 'exist'): Chainable<Subject>;
Asserts that the target is not strictly (
===
) equal to eithernull
orundefined
. However, it's often best to assert that the target is equal to its expected value.Example 1
cy.wrap(1).should('exist')
See Also
http://chaijs.com/api/bdd/#method_exist
https://on.cypress.io/assertions
call signature
(chainer: 'eq', value: any): Chainable<Subject>;
Asserts that the target is strictly (
===
) equal to the givenval
.Example 1
cy.wrap(1).should('eq', 1) equal
See Also
http://chaijs.com/api/bdd/#method_equal
https://on.cypress.io/assertions
call signature
(chainer: 'eql', value: any): Chainable<Subject>;
Asserts that the target is deeply equal to the given
obj
. See thedeep-eql
project page for info on the deep equality algorithm: https://github.com/chaijs/deep-eql.Example 1
cy.wrap({a: 1}).should('eql', {a: 1}).and('not.equal', {a: 1})
See Also
http://chaijs.com/api/bdd/#method_eql
https://on.cypress.io/assertions
call signature
(chainer: 'equal', value: any): Chainable<Subject>;
Asserts that the target is strictly (
===
) equal to the givenval
.Example 1
cy.wrap(1).should('equal', 1)
See Also
http://chaijs.com/api/bdd/#method_equal
https://on.cypress.io/assertions
call signature
(chainer: 'have.all.key', ...value: string[]): Chainable<Subject>;
Causes all
.key
assertions that follow in the chain to require that the target have all of the given keys. This is the opposite of.any
, which only requires that the target have at least one of the given keys.Example 1
cy.wrap({ a: 1, b: 2 }).should('have.all.key', 'a', 'b')
See Also
http://chaijs.com/api/bdd/#method_all
https://on.cypress.io/assertions
call signature
(chainer: 'have.any.key', ...value: string[]): Chainable<Subject>;
Causes all
.key
assertions that follow in the chain to only require that the target have at least one of the given keys. This is the opposite of.all
, which requires that the target have all of the given keys.Example 1
cy.wrap({ a: 1, b: 2 }).should('have.any.key', 'a')
See Also
http://chaijs.com/api/bdd/#method_any
https://on.cypress.io/assertions
call signature
( chainer: | 'have.all.keys' | 'have.keys' | 'have.deep.keys' | 'have.all.deep.keys', ...value: string[]): Chainable<Subject>;
Causes all
.keys
assertions that follow in the chain to require that the target have all of the given keys. This is the opposite of.any
, which only requires that the target have at least one of the given keys.Example 1
cy.wrap({ a: 1, b: 2 }).should('have.all.keys', 'a', 'b')
See Also
http://chaijs.com/api/bdd/#method_all
https://on.cypress.io/assertions
call signature
( chainer: 'have.any.keys' | 'include.any.keys', ...value: string[]): Chainable<Subject>;
Causes all
.keys
assertions that follow in the chain to only require that the target have at least one of the given keys. This is the opposite of.all
, which requires that the target have all of the given keys.Example 1
cy.wrap({ a: 1, b: 2 }).should('have.any.keys', 'a')
See Also
http://chaijs.com/api/bdd/#method_any
https://on.cypress.io/assertions
call signature
(chainer: 'include.all.keys', ...value: string[]): Chainable<Subject>;
Causes all
.keys
assertions that follow in the chain to require the target to be a superset of the expected set, rather than an identical set.Example 1
cy.wrap({ a: 1, b: 2 }).should('include.all.keys', 'a', 'b')
See Also
http://chaijs.com/api/bdd/#method_keys
https://on.cypress.io/assertions
call signature
(chainer: 'have.deep.property', value: string, obj: object): Chainable<Subject>;
Asserts that the target has a property with the given key
name
. See thedeep-eql
project page for info on the deep equality algorithm: https://github.com/chaijs/deep-eql.Example 1
cy.wrap({ x: {a: 1 }}).should('have.deep.property', 'x', { a: 1 })
See Also
http://chaijs.com/api/bdd/#method_property
https://on.cypress.io/assertions
call signature
(chainer: 'be.below', value: number): Chainable<Subject>;
Asserts that the target is a number or a
n
date less than or equal to the given number or date n respectively. However, it's often best to assert that the target is equal to its expected value.Example 1
cy.wrap(4).should('be.below', 5)
See Also
http://chaijs.com/api/bdd/#method_below
https://on.cypress.io/assertions
call signature
(chainer: 'have.length' | 'have.lengthOf', value: number): Chainable<Subject>;
Asserts that the target's
length
property is equal to the given numbern
.Example 1
cy.wrap([1, 2, 3]).should('have.length', 3) cy.wrap('foo').should('have.length', 3) lengthOf
See Also
http://chaijs.com/api/bdd/#method_lengthof
https://on.cypress.io/assertions
call signature
( chainer: 'have.length.greaterThan' | 'have.lengthOf.greaterThan', value: number): Chainable<Subject>;
Asserts that the target's
length
property is greater than to the given numbern
.Example 1
cy.wrap([1, 2, 3]).should('have.length.greaterThan', 2) cy.wrap('foo').should('have.length.greaterThan', 2)
See Also
http://chaijs.com/api/bdd/#method_lengthof
https://on.cypress.io/assertions
call signature
( chainer: | 'have.length.gt' | 'have.lengthOf.gt' | 'have.length.above' | 'have.lengthOf.above', value: number): Chainable<Subject>;
Asserts that the target's
length
property is greater than to the given numbern
.Example 1
cy.wrap([1, 2, 3]).should('have.length.gt', 2) cy.wrap('foo').should('have.length.gt', 2)
See Also
http://chaijs.com/api/bdd/#method_lengthof
https://on.cypress.io/assertions
call signature
( chainer: | 'have.length.gte' | 'have.lengthOf.gte' | 'have.length.at.least' | 'have.lengthOf.at.least', value: number): Chainable<Subject>;
Asserts that the target's
length
property is greater than or equal to the given numbern
.Example 1
cy.wrap([1, 2, 3]).should('have.length.gte', 2) cy.wrap('foo').should('have.length.gte', 2)
See Also
http://chaijs.com/api/bdd/#method_lengthof
https://on.cypress.io/assertions
call signature
( chainer: 'have.length.lessThan' | 'have.lengthOf.lessThan', value: number): Chainable<Subject>;
Asserts that the target's
length
property is less than to the given numbern
.Example 1
cy.wrap([1, 2, 3]).should('have.length.lessThan', 4) cy.wrap('foo').should('have.length.lessThan', 4)
See Also
http://chaijs.com/api/bdd/#method_lengthof
https://on.cypress.io/assertions
call signature
( chainer: | 'have.length.lt' | 'have.lengthOf.lt' | 'have.length.below' | 'have.lengthOf.below', value: number): Chainable<Subject>;
Asserts that the target's
length
property is less than to the given numbern
.Example 1
cy.wrap([1, 2, 3]).should('have.length.lt', 4) cy.wrap('foo').should('have.length.lt', 4)
See Also
http://chaijs.com/api/bdd/#method_lengthof
https://on.cypress.io/assertions
call signature
( chainer: | 'have.length.lte' | 'have.lengthOf.lte' | 'have.length.at.most' | 'have.lengthOf.at.most', value: number): Chainable<Subject>;
Asserts that the target's
length
property is less than or equal to the given numbern
.Example 1
cy.wrap([1, 2, 3]).should('have.length.lte', 4) cy.wrap('foo').should('have.length.lte', 4)
See Also
http://chaijs.com/api/bdd/#method_lengthof
https://on.cypress.io/assertions
call signature
( chainer: 'have.length.within' | 'have.lengthOf.within', start: number, finish: number): Chainable<Subject>;
Asserts that the target's
length
property is withinstart
andfinish
.Example 1
cy.wrap([1, 2, 3]).should('have.length.within', 1, 5)
See Also
http://chaijs.com/api/bdd/#method_lengthof
https://on.cypress.io/assertions
call signature
( chainer: 'have.members' | 'have.deep.members', values: any[]): Chainable<Subject>;
Asserts that the target array has the same members as the given array
set
.Example 1
cy.wrap([1, 2, 3]).should('have.members', [2, 1, 3])
See Also
http://chaijs.com/api/bdd/#method_members
https://on.cypress.io/assertions
call signature
(chainer: 'have.ordered.members', values: any[]): Chainable<Subject>;
Asserts that the target array has the same members as the given array where order matters.
Example 1
cy.wrap([1, 2, 3]).should('have.ordered.members', [1, 2, 3])
See Also
http://chaijs.com/api/bdd/#method_members
https://on.cypress.io/assertions
call signature
(chainer: 'be.arguments'): Chainable<Subject>;
Asserts that the target is an
arguments
object.Example 1
cy.wrap(arguments).should('be.arguments')
See Also
http://chaijs.com/api/bdd/#method_arguments
https://on.cypress.io/assertions
call signature
(chainer: 'have.ownProperty', property: string): Chainable<Subject>;
Causes all
.property
and.include
assertions that follow in the chain to ignore inherited properties.Example 1
Object.prototype.b = 2 cy.wrap({ a: 1 }).should('have.property', 'a').and('not.have.ownProperty', 'b')
See Also
http://chaijs.com/api/bdd/#method_ownproperty
https://on.cypress.io/assertions
call signature
( chainer: | 'have.property' | 'have.nested.property' | 'have.own.property' | 'have.a.property' | 'have.deep.property' | 'have.deep.own.property' | 'have.deep.nested.property', property: string, value?: any): Chainable<Subject>;
Asserts that the target has a property with the given key
name
.Example 1
cy.wrap({ a: 1 }).should('have.property', 'a') cy.wrap({ a: 1 }).should('have.property', 'a', 1)
See Also
http://chaijs.com/api/bdd/#method_property
https://on.cypress.io/assertions
call signature
( chainer: 'have.ownPropertyDescriptor' | 'haveOwnPropertyDescriptor', name: string, descriptor?: PropertyDescriptor): Chainable<Subject>;
Asserts that the target has its own property descriptor with the given key name.
Example 1
cy.wrap({a: 1}).should('have.ownPropertyDescriptor', 'a', { value: 1 })
See Also
http://chaijs.com/api/bdd/#method_ownpropertydescriptor
https://on.cypress.io/assertions
call signature
(chainer: 'have.string', match: string | RegExp): Chainable<Subject>;
Asserts that the target string contains the given substring
str
.Example 1
cy.wrap('foobar').should('have.string', 'bar')
See Also
http://chaijs.com/api/bdd/#method_string
https://on.cypress.io/assertions
call signature
( chainer: | 'include' | 'deep.include' | 'nested.include' | 'own.include' | 'deep.own.include' | 'deep.nested.include', value: any): Chainable<Subject>;
When the target is a string,
.include
asserts that the given stringval
is a substring of the target.Example 1
cy.wrap('foobar').should('include', 'foo')
See Also
http://chaijs.com/api/bdd/#method_include
https://on.cypress.io/assertions
call signature
( chainer: | 'include.members' | 'include.ordered.members' | 'include.deep.ordered.members', value: any[]): Chainable<Subject>;
When the target is a string,
.include
asserts that the given stringval
is a substring of the target.Example 1
cy.wrap([1, 2, 3]).should('include.members', [1, 2])
See Also
http://chaijs.com/api/bdd/#method_members
https://on.cypress.io/assertions
call signature
(chainer: 'increase', value: object, property?: string): Chainable<Subject>;
When one argument is provided,
.increase
asserts that the given functionsubject
returns a greater number when it's invoked after invoking the target function compared to when it's invoked beforehand..increase
also causes all.by
assertions that follow in the chain to assert how much greater of a number is returned. It's often best to assert that the return value increased by the expected amount, rather than asserting it increased by any amount.When two arguments are provided,
.increase
asserts that the value of the given objectsubject
'sprop
property is greater after invoking the target function compared to beforehand.Example 1
let val = 1 function addTwo() { val += 2 } function getVal() { return val } cy.wrap(addTwo).should('increase', getVal)
const myObj = { val: 1 } function addTwo() { myObj.val += 2 } cy.wrap(addTwo).should('increase', myObj, 'val')
See Also
http://chaijs.com/api/bdd/#method_increase
https://on.cypress.io/assertions
call signature
(chainer: 'match', value: RegExp): Chainable<Subject>;
Asserts that the target matches the given regular expression
re
.Example 1
cy.wrap('foobar').should('match', /^foo/)
See Also
http://chaijs.com/api/bdd/#method_match
https://on.cypress.io/assertions
call signature
(chainer: 'respondTo', value: string): Chainable<Subject>;
When the target is a non-function object,
.respondTo
asserts that the target has amethod
with the given name method. The method can be own or inherited, and it can be enumerable or non-enumerable.Example 1
class Cat { meow() {} } cy.wrap(new Cat()).should('respondTo', 'meow')
See Also
http://chaijs.com/api/bdd/#method_respondto
https://on.cypress.io/assertions
call signature
(chainer: 'satisfy', fn: (val: any) => boolean): Chainable<Subject>;
Invokes the given
matcher
function with the target being passed as the first argument, and asserts that the value returned is truthy.Example 1
cy.wrap(1).should('satisfy', (num) => num > 0)
See Also
http://chaijs.com/api/bdd/#method_satisfy
https://on.cypress.io/assertions
call signature
(chainer: 'be.approximately', value: number, delta: number): Chainable<Subject>;
Asserts that the target is a number that's within a given +/-
delta
range of the given numberexpected
. However, it's often best to assert that the target is equal to its expected value.Example 1
cy.wrap(5.1).should('be.approximately', 5, 0.5) closeTo
See Also
http://chaijs.com/api/bdd/#method_closeto
https://on.cypress.io/assertions
call signature
(chainer: 'throw', value?: string | RegExp): Chainable<Subject>;
When no arguments are provided,
.throw
invokes the target function and asserts that an error is thrown. When one argument is provided, and it's a string,.throw
invokes the target function and asserts that an error is thrown with a message that contains that string.Example 1
function badFn() { throw new TypeError('Illegal salmon!') } cy.wrap(badFn).should('throw') cy.wrap(badFn).should('throw', 'salmon') cy.wrap(badFn).should('throw', /salmon/)
See Also
http://chaijs.com/api/bdd/#method_throw
https://on.cypress.io/assertions
call signature
( chainer: 'throw', error: Error | Function, expected?: string | RegExp): Chainable<Subject>;
When no arguments are provided,
.throw
invokes the target function and asserts that an error is thrown. When one argument is provided, and it's a string,.throw
invokes the target function and asserts that an error is thrown with a message that contains that string.Example 1
function badFn() { throw new TypeError('Illegal salmon!') } cy.wrap(badFn).should('throw') cy.wrap(badFn).should('throw', 'salmon') cy.wrap(badFn).should('throw', /salmon/)
See Also
http://chaijs.com/api/bdd/#method_throw
https://on.cypress.io/assertions
call signature
(chainer: 'be.oneOf', list: ReadonlyArray<any>): Chainable<Subject>;
Asserts that the target is a member of the given array list.
Example 1
cy.wrap(1).should('be.oneOf', [1, 2, 3])
See Also
http://chaijs.com/api/bdd/#method_oneof
https://on.cypress.io/assertions
call signature
(chainer: 'be.extensible'): Chainable<Subject>;
Asserts that the target is extensible, which means that new properties can be added to it.
Example 1
cy.wrap({a: 1}).should('be.extensible')
See Also
http://chaijs.com/api/bdd/#method_extensible
https://on.cypress.io/assertions
call signature
(chainer: 'be.sealed'): Chainable<Subject>;
Asserts that the target is sealed, which means that new properties can't be added to it, and its existing properties can't be reconfigured or deleted.
Example 1
let sealedObject = Object.seal({}) let frozenObject = Object.freeze({}) cy.wrap(sealedObject).should('be.sealed') cy.wrap(frozenObject).should('be.sealed')
See Also
http://chaijs.com/api/bdd/#method_sealed
https://on.cypress.io/assertions
call signature
(chainer: 'be.frozen'): Chainable<Subject>;
Asserts that the target is frozen, which means that new properties can't be added to it, and its existing properties can't be reassigned to different values, reconfigured, or deleted.
Example 1
let frozenObject = Object.freeze({}) cy.wrap(frozenObject).should('be.frozen')
See Also
http://chaijs.com/api/bdd/#method_frozen
https://on.cypress.io/assertions
call signature
(chainer: 'be.finite'): Chainable<Subject>;
Asserts that the target is a number, and isn't
NaN
or positive/negativeInfinity
.Example 1
cy.wrap(1).should('be.finite')
See Also
http://chaijs.com/api/bdd/#method_finite
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.a', type: string): Chainable<Subject>;
Asserts that the target's
type
is not equal to the given string type. Types are case insensitive. See thetype-detect
project page for info on the type detection algorithm: https://github.com/chaijs/type-detect.Example 1
cy.wrap('foo').should('not.be.a', 'number')
See Also
http://chaijs.com/api/bdd/#method_a
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.above', value: number | Date): Chainable<Subject>;
Asserts that the target is a not number or not a date greater than the given number or date n respectively. However, it's often best to assert that the target is equal to its expected value.
Example 1
cy.wrap(6).should('not.be.above', 10)
See Also
http://chaijs.com/api/bdd/#method_above
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.an', value: string): Chainable<Subject>;
Asserts that the target's
type
is not equal to the given string type. Types are case insensitive. See thetype-detect
project page for info on the type detection algorithm: https://github.com/chaijs/type-detect.Example 1
cy.wrap('foo').should('not.be.an', 'object') a
See Also
http://chaijs.com/api/bdd/#method_a
https://on.cypress.io/assertions
call signature
(chainer: 'be.closeTo', value: number, delta: number): Chainable<Subject>;
Asserts that the target is a number that's within a given +/-
delta
range of the given numberexpected
. However, it's often best to assert that the target is equal to its expected value.Example 1
cy.wrap(5.1).should('be.closeTo', 5, 0.5)
See Also
http://chaijs.com/api/bdd/#method_closeto
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.at.least', value: number | Date): Chainable<Subject>;
Asserts that the target is not a number or not a
n
date greater than or equal to the given number or date n respectively. However, it's often best to assert that the target is equal to its expected value.Example 1
cy.wrap(6).should('not.be.at.least', 10)
See Also
http://chaijs.com/api/bdd/#method_least
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.below', value: number): Chainable<Subject>;
Asserts that the target is not a number or not a
n
date less than or equal to the given number or date n respectively. However, it's often best to assert that the target is equal to its expected value.Example 1
cy.wrap(4).should('not.be.below', 1)
See Also
http://chaijs.com/api/bdd/#method_below
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.arguments'): Chainable<Subject>;
Asserts that the target is not an
arguments
object.Example 1
cy.wrap(1).should('not.be.arguments')
See Also
http://chaijs.com/api/bdd/#method_arguments
https://on.cypress.io/assertions
call signature
( chainer: 'not.be.approximately', value: number, delta: number): Chainable<Subject>;
Asserts that the target is a not number that's within a given +/-
delta
range of the given numberexpected
. However, it's often best to assert that the target is equal to its expected value.Example 1
cy.wrap(5.1).should('not.be.approximately', 6, 0.5) closeTo
See Also
http://chaijs.com/api/bdd/#method_closeto
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.closeTo', value: number, delta: number): Chainable<Subject>;
Asserts that the target is not a number that's within a given +/-
delta
range of the given numberexpected
. However, it's often best to assert that the target is equal to its expected value.Example 1
cy.wrap(5.1).should('not.be.closeTo', 6, 0.5)
See Also
http://chaijs.com/api/bdd/#method_closeto
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.empty'): Chainable<Subject>;
When the target is a not string or array, .empty asserts that the target's length property is strictly (===) equal to 0
Example 1
cy.wrap([1]).should('not.be.empty') cy.wrap('foo').should('not.be.empty')
See Also
http://chaijs.com/api/bdd/#method_empty
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.instanceOf', value: any): Chainable<Subject>;
Asserts that the target is not an instance of the given
constructor
.Example 1
cy.wrap([1, 2]).should('not.be.instanceOf', String)
See Also
http://chaijs.com/api/bdd/#method_instanceof
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.false'): Chainable<Subject>;
Asserts that the target is not strictly (
===
) equal tofalse
.Example 1
cy.wrap(true).should('not.be.false')
See Also
http://chaijs.com/api/bdd/#method_false
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.greaterThan', value: number): Chainable<Subject>;
Asserts that the target is a not number or a date greater than the given number or date n respectively. However, it's often best to assert that the target is equal to its expected value.
Example 1
cy.wrap(6).should('be.greaterThan', 7) above
See Also
http://chaijs.com/api/bdd/#method_above
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.gt', value: number): Chainable<Subject>;
Asserts that the target is a not number or a date greater than the given number or date n respectively. However, it's often best to assert that the target is equal to its expected value.
Example 1
cy.wrap(6).should('not.be.gt', 7) above
See Also
http://chaijs.com/api/bdd/#method_above
https://on.cypress.io/assertions
call signature
(chainer: 'be.empty'): Chainable<Subject>;
When the target is a string or array, .empty asserts that the target's length property is strictly (===) equal to 0
Example 1
cy.wrap([]).should('be.empty') cy.wrap('').should('be.empty')
See Also
http://chaijs.com/api/bdd/#method_empty
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.gte', value: number): Chainable<Subject>;
Asserts that the target is a not number or a
n
date greater than or equal to the given number or date n respectively. However, it's often best to assert that the target is equal to its expected value.Example 1
cy.wrap(6).should('not.be.gte', 7) least
See Also
http://chaijs.com/api/bdd/#method_least
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.lessThan', value: number): Chainable<Subject>;
Asserts that the target is not a number or a
n
date less than or equal to the given number or date n respectively. However, it's often best to assert that the target is equal to its expected value.Example 1
cy.wrap(4).should('not.be.lessThan', 3) below
See Also
http://chaijs.com/api/bdd/#method_below
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.lt', value: number): Chainable<Subject>;
Asserts that the target is not a number or a
n
date less than or equal to the given number or date n respectively. However, it's often best to assert that the target is equal to its expected value.Example 1
cy.wrap(4).should('not.be.lt', 3) below
See Also
http://chaijs.com/api/bdd/#method_below
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.lte', value: number): Chainable<Subject>;
Asserts that the target is not a number or a date less than or equal to the given number or date n respectively. However, it's often best to assert that the target is equal to its expected value.
Example 1
cy.wrap(4).should('not.be.lte', 3) most
See Also
http://chaijs.com/api/bdd/#method_most
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.ok'): Chainable<Subject>;
Asserts that the target is not loosely (
==
) equal totrue
. However, it's often best to assert that the target is strictly (===
) or deeply equal to its expected value.Example 1
cy.wrap(0).should('not.be.ok')
See Also
http://chaijs.com/api/bdd/#method_ok
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.true'): Chainable<Subject>;
Asserts that the target is not strictly (
===
) equal to true.Example 1
cy.wrap(false).should('not.be.true')
See Also
http://chaijs.com/api/bdd/#method_true
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.undefined'): Chainable<Subject>;
Asserts that the target is not strictly (
===
) equal to undefined.Example 1
cy.wrap(true).should('not.be.undefined')
See Also
http://chaijs.com/api/bdd/#method_undefined
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.null'): Chainable<Subject>;
Asserts that the target is strictly (
===
) equal to null.Example 1
cy.wrap(null).should('not.be.null')
See Also
http://chaijs.com/api/bdd/#method_null
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.NaN'): Chainable<Subject>;
Asserts that the target is strictly (
===
) equal to NaN.Example 1
cy.wrap(NaN).should('not.be.NaN')
See Also
http://chaijs.com/api/bdd/#method_nan
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.within', start: number, end: number): Chainable<Subject>;
Asserts that the target is not a number or a date greater than or equal to the given number or date
start
, and less than or equal to the given number or datefinish
respectively. However, it's often best to assert that the target is equal to its expected value.Example 1
cy.wrap(3).should('not.be.within', 5, 10)
See Also
http://chaijs.com/api/bdd/#method_within
https://on.cypress.io/assertions
call signature
(chainer: 'be.instanceOf', value: any): Chainable<Subject>;
Asserts that the target is an instance of the given
constructor
.Example 1
cy.wrap([1, 2]).should('be.instanceOf', Array)
See Also
http://chaijs.com/api/bdd/#method_instanceof
https://on.cypress.io/assertions
call signature
(chainer: 'not.be.within', start: Date, end: Date): Chainable<Subject>;
call signature
(chainer: 'not.change', fn: (...args: any[]) => any): Chainable<Subject>;
When one argument is provided,
.change
asserts that the given functionsubject
returns a different value when it's invoked before the target function compared to when it's invoked afterward. However, it's often best to assert thatsubject
is equal to its expected value.Example 1
let dots = '' function addDot() { dots += '.' } function getDots() { return dots } cy.wrap(() => {}).should('not.change', getDots)
See Also
http://chaijs.com/api/bdd/#method_change
https://on.cypress.io/assertions
call signature
(chainer: 'not.change', obj: object, prop: string): Chainable<Subject>;
When two arguments are provided,
.change
asserts that the value of the given objectsubject
'sprop
property is different before invoking the target function compared to afterward.Example 1
const myObj = { dots: '' } function addDot() { myObj.dots += '.' } cy.wrap(() => {}).should('not.change', myObj, 'dots')
See Also
http://chaijs.com/api/bdd/#method_change
https://on.cypress.io/assertions
call signature
(chainer: 'not.contain', value: any): Chainable<Subject>;
When the target is a string,
.include
asserts that the given string val is a substring of the target.Example 1
cy.wrap('tester').should('not.contain', 'foo') include
See Also
http://chaijs.com/api/bdd/#method_include
https://on.cypress.io/assertions
call signature
(chainer: 'not.decrease', fn: (...args: any[]) => any): Chainable<Subject>;
When one argument is provided,
.decrease
asserts that the given functionsubject
does not returns a lesser number when it's invoked after invoking the target function compared to when it's invoked beforehand..decrease
also causes all.by
assertions that follow in the chain to assert how much lesser of a number is returned. It's often best to assert that the return value decreased by the expected amount, rather than asserting it decreased by any amount.Example 1
let val = 1 function subtractTwo() { val -= 2 } function getVal() { return val } cy.wrap(() => {}).should('not.decrease', getVal)
See Also
http://chaijs.com/api/bdd/#method_decrease
https://on.cypress.io/assertions
call signature
(chainer: 'not.decrease', obj: object, prop: string): Chainable<Subject>;
When two arguments are provided,
.decrease
asserts that the value of the given objectsubject
'sprop
property is not lesser after invoking the target function compared to beforehand.Example 1
const myObj = { val: 1 } function subtractTwo() { myObj.val -= 2 } cy.wrap(() => {}).should('not.decrease', myObj, 'val')
See Also
http://chaijs.com/api/bdd/#method_decrease
https://on.cypress.io/assertions
call signature
(chainer: 'not.deep.equal', value: Subject): Chainable<Subject>;
Causes all
.equal
,.include
,.members
,.keys
, and.property
assertions that follow in the chain to not use deep equality instead of strict (===
) equality. See thedeep-eql
project page for info on the deep equality algorithm: https://github.com/chaijs/deep-eql.Example 1
cy.wrap({ a: 1 }).should('not.deep.equal', { b: 1 })
See Also
http://chaijs.com/api/bdd/#method_deep
https://on.cypress.io/assertions
call signature
(chainer: 'not.exist'): Chainable<Subject>;
Asserts that the target is not strictly (
===
) equal to eithernull
orundefined
. However, it's often best to assert that the target is equal to its expected value.Example 1
cy.wrap(null).should('not.exist')
See Also
http://chaijs.com/api/bdd/#method_exist
https://on.cypress.io/assertions
call signature
(chainer: 'not.eq', value: any): Chainable<Subject>;
Asserts that the target is not strictly (
===
) equal to the givenval
.Example 1
cy.wrap(1).should('not.eq', 2) equal
See Also
http://chaijs.com/api/bdd/#method_equal
https://on.cypress.io/assertions
call signature
(chainer: 'not.eql', value: any): Chainable<Subject>;
Asserts that the target is not deeply equal to the given
obj
. See thedeep-eql
project page for info on the deep equality algorithm: https://github.com/chaijs/deep-eql.Example 1
cy.wrap({a: 1}).should('not.eql', {c: 1}).and('not.equal', {a: 1})
See Also
http://chaijs.com/api/bdd/#method_eql
https://on.cypress.io/assertions
interface CheckOptions
interface CheckOptions extends Loggable, Timeoutable, ActionableOptions {}
property interval
interval: number;
interface ClearOptions
interface ClearOptions extends Loggable, Timeoutable, ActionableOptions {}
property interval
interval: number;
interface ClickOptions
interface ClickOptions extends Loggable, Timeoutable, ActionableOptions {}
Object to change the default behavior of .click().
property altKey
altKey: boolean;
Activates the alt key (option key for Mac) during click
false
property cmdKey
cmdKey: boolean;
Activates the meta key (Windows key or command key for Mac) during click
false
property commandKey
commandKey: boolean;
Activates the meta key (Windows key or command key for Mac) during click
false
property controlKey
controlKey: boolean;
Activates the control key during click
false
property ctrlKey
ctrlKey: boolean;
Activates the control key during click
false
property metaKey
metaKey: boolean;
Activates the meta key (Windows key or command key for Mac) during click
false
property multiple
multiple: boolean;
Serially click multiple elements
false
property optionKey
optionKey: boolean;
Activates the alt key (option key for Mac) during click
false
property shiftKey
shiftKey: boolean;
Activates the shift key during click
false
interface ClientCertificate
interface ClientCertificate {}
property ca
ca?: string[];
Paths to one or more CA files to validate certs against, relative to project root.
property certs
certs: PEMCert[] | PFXCert[];
A PEM format certificate/private key pair or PFX certificate container
property url
url: string;
URL to match requests against. Wildcards following [minimatch](https://github.com/isaacs/minimatch) rules are supported.
interface Clock
interface Clock {}
The clock starts at the unix epoch (timestamp of 0). This means that when you instantiate new Date in your application, it will have a time of January 1st, 1970.
method restore
restore: () => void;
Restore all overridden native functions. This is automatically called between tests, so should not generally be needed.
Example 1
cy.clock() cy.visit('/') ... cy.clock().then(clock => { clock.restore() }) // or use this shortcut cy.clock().invoke('restore')
See Also
https://on.cypress.io/clock
method setSystemTime
setSystemTime: (now?: number | Date) => void;
Change the time without invoking any timers.
Default value with no argument or undefined is 0.
This can be useful if you need to change the time by an hour while there is a setInterval registered that may otherwise run thousands of times.
Example 1
cy.clock() cy.visit('/') ... cy.clock().then(clock => { clock.setSystemTime(60 * 60 * 1000) }) // or use this shortcut cy.clock().invoke('setSystemTime', 60 * 60 * 1000)
See Also
https://on.cypress.io/clock
method tick
tick: (time: number) => void;
Move the clock the specified number of
milliseconds
. Any timers within the affected range of time will be called.Parameter time
Number in ms to advance the clock
See Also
https://on.cypress.io/tick
interface CodeFrame
interface CodeFrame {}
property absoluteFile
absoluteFile: string;
property column
column: number;
property frame
frame: string;
property language
language: string;
property line
line: number;
property originalFile
originalFile: string;
property relativeFile
relativeFile: string;
interface Command
interface Command {}
method get
get: { <K extends keyof EnqueuedCommandAttributes>( attr: K ): EnqueuedCommandAttributes[K]; (): EnqueuedCommandAttributes;};
method set
set: { <K extends keyof EnqueuedCommandAttributes>( key: K, value: EnqueuedCommandAttributes[K] ): Log; (options: Partial<EnqueuedCommandAttributes>): Log;};
interface CommandFn
interface CommandFn<T extends keyof ChainableMethods> {}
call signature
(this: Mocha.Context, ...args: Parameters<ChainableMethods[T]>): ReturnType< ChainableMethods[T]> | void;
interface CommandFns
interface CommandFns {}
index signature
[name: string]: (this: Mocha.Context, ...args: any) => any;
interface CommandFnsWithSubject
interface CommandFnsWithSubject<S> {}
index signature
[name: string]: (this: Mocha.Context, prevSubject: S, ...args: any) => any;
interface CommandFnWithOriginalFn
interface CommandFnWithOriginalFn<T extends keyof Chainable> {}
call signature
( this: Mocha.Context, originalFn: CommandOriginalFn<T>, ...args: Parameters<ChainableMethods[T]>): ReturnType<ChainableMethods[T]> | void;
interface CommandFnWithOriginalFnAndSubject
interface CommandFnWithOriginalFnAndSubject<T extends keyof Chainable, S> {}
call signature
( this: Mocha.Context, originalFn: CommandOriginalFnWithSubject<T, S>, prevSubject: S, ...args: Parameters<ChainableMethods[T]>): ReturnType<ChainableMethods[T]> | void;
interface CommandFnWithSubject
interface CommandFnWithSubject<T extends keyof ChainableMethods, S> {}
call signature
( this: Mocha.Context, prevSubject: S, ...args: Parameters<ChainableMethods[T]>): ReturnType<ChainableMethods[T]> | void;
interface CommandOptions
interface CommandOptions {}
property prevSubject
prevSubject: boolean | PrevSubject | PrevSubject[];
interface CommandOriginalFn
interface CommandOriginalFn<T extends keyof ChainableMethods> extends CallableFunction {}
call signature
(...args: Parameters<ChainableMethods[T]>): ReturnType<ChainableMethods[T]>;
interface CommandOriginalFnWithSubject
interface CommandOriginalFnWithSubject<T extends keyof ChainableMethods, S> extends CallableFunction {}
call signature
(prevSubject: S, ...args: Parameters<ChainableMethods[T]>): ReturnType< ChainableMethods[T]>;
interface CommandQueue
interface CommandQueue extends ObjectLike {}
interface ComponentConfigOptions
interface ComponentConfigOptions<ComponentDevServerOpts = any> extends Omit<CoreConfigOptions, 'baseUrl' | 'experimentalStudio'> {}
property devServer
devServer: DevServerFn<ComponentDevServerOpts> | DevServerConfigOptions;
property devServerConfig
devServerConfig?: ComponentDevServerOpts;
property experimentalSingleTabRunMode
experimentalSingleTabRunMode?: boolean;
Runs all component specs in a single tab, trading spec isolation for faster run mode execution. false
interface Cookie
interface Cookie {}
interface CookieOptions
interface CookieOptions extends Partial<Loggable & Timeoutable> {}
property domain
domain?: string;
Domain to set cookies on or get cookies from hostname of the current app under test
interface cy
interface cy extends Chainable<undefined> {}
Public interface for the global "cy" object. If you want to add a custom property to this object, you should extend this interface.
See Also
https://on.cypress.io/typescript#Types-for-custom-commands
``` // in your TS file declare namespace Cypress { interface cy { // declare additional properties on "cy" object, like // label: string } interface Chainable { // declare additional custom commands as methods, like // login(username: string, password: string) } } ```
interface Cypress
interface Cypress {}
Several libraries are bundled with Cypress by default.
See Also
https://on.cypress.io/api
property $
$: JQueryStatic;
jQuery library
Example 1
Cypress.$('p')
See Also
https://on.cypress.io/$
property action
action: <T = any[] | void>(action: string, ...args: any[]) => T;
Trigger action
property arch
arch: string;
CPU architecture, from Node
os.arch()
Example 1
Cypress.arch // "x64"
See Also
https://nodejs.org/api/os.html#os_os_arch
property backend
backend: Backend;
Promise wrapper for certain internal tasks.
property Blob
Blob: BlobUtil.BlobUtilStatic;
Cypress automatically includes a Blob library and exposes it as Cypress.Blob.
Example 1
Cypress.Blob.method()
See Also
https://on.cypress.io/blob
https://github.com/nolanlawson/blob-util
property browser
browser: Browser;
Information about the browser currently running the tests
property Buffer
Buffer: BufferType;
Cypress automatically includes a Buffer library and exposes it as Cypress.Buffer.
Example 1
Cypress.Buffer.method()
See Also
https://on.cypress.io/buffer
https://github.com/feross/buffer
property Commands
Commands: { /** * Add a custom command * @see https://on.cypress.io/api/commands */ add<T extends keyof Chainable>(name: T, fn: CommandFn<T>): void;
/** * Add a custom parent command * @see https://on.cypress.io/api/commands#Parent-Commands */ add<T extends keyof Chainable>( name: T, options: CommandOptions & { prevSubject: false }, fn: CommandFn<T> ): void;
/** * Add a custom child command * @see https://on.cypress.io/api/commands#Child-Commands */ add<T extends keyof Chainable, S = any>( name: T, options: CommandOptions & { prevSubject: true }, fn: CommandFnWithSubject<T, S> ): void;
/** * Add a custom child or dual command * @see https://on.cypress.io/api/commands#Validations */ add<T extends keyof Chainable, S extends PrevSubject>( name: T, options: CommandOptions & { prevSubject: S | ['optional'] }, fn: CommandFnWithSubject<T, PrevSubjectMap[S]> ): void;
/** * Add a custom command that allows multiple types as the prevSubject * @see https://on.cypress.io/api/commands#Validations#Allow-Multiple-Types */ add<T extends keyof Chainable, S extends PrevSubject>( name: T, options: CommandOptions & { prevSubject: S[] }, fn: CommandFnWithSubject<T, PrevSubjectMap<void>[S]> ): void;
/** * Add one or more custom commands * @see https://on.cypress.io/api/commands */ addAll<T extends keyof Chainable>(fns: CommandFns): void;
/** * Add one or more custom parent commands * @see https://on.cypress.io/api/commands#Parent-Commands */ addAll<T extends keyof Chainable>( options: CommandOptions & { prevSubject: false }, fns: CommandFns ): void;
/** * Add one or more custom child commands * @see https://on.cypress.io/api/commands#Child-Commands */ addAll<T extends keyof Chainable, S = any>( options: CommandOptions & { prevSubject: true }, fns: CommandFnsWithSubject<S> ): void;
/** * Add one or more custom commands that validate their prevSubject * @see https://on.cypress.io/api/commands#Validations */ addAll<T extends keyof Chainable, S extends PrevSubject>( options: CommandOptions & { prevSubject: S | ['optional'] }, fns: CommandFnsWithSubject<PrevSubjectMap[S]> ): void;
/** * Add one or more custom commands that allow multiple types as their prevSubject * @see https://on.cypress.io/api/commands#Allow-Multiple-Types */ addAll<T extends keyof Chainable, S extends PrevSubject>( options: CommandOptions & { prevSubject: S[] }, fns: CommandFnsWithSubject<PrevSubjectMap<void>[S]> ): void;
/** * Overwrite an existing Cypress command with a new implementation * @see https://on.cypress.io/api/commands#Overwrite-Existing-Commands */ overwrite<T extends keyof Chainable>( name: T, fn: CommandFnWithOriginalFn<T> ): void;
/** * Overwrite an existing Cypress command with a new implementation * @see https://on.cypress.io/api/commands#Overwrite-Existing-Commands */ overwrite<T extends keyof Chainable, S extends PrevSubject>( name: T, fn: CommandFnWithOriginalFnAndSubject<T, PrevSubjectMap[S]> ): void;
/** * Add a custom query * @see https://on.cypress.io/api/custom-queries */ addQuery<T extends keyof Chainable>(name: T, fn: QueryFn<T>): void;
/** * Overwrite an existing Cypress query with a new implementation * @see https://on.cypress.io/api/custom-queries */ overwriteQuery<T extends keyof Chainable>( name: T, fn: QueryFnWithOriginalFn<T> ): void;};
property Cookies
Cookies: { debug(enabled: boolean, options?: Partial<DebugOptions>): void;};
See Also
https://on.cypress.io/cookies
property currentRetry
currentRetry: number;
Information about current test retry
property currentTest
currentTest: { title: string; titlePath: string[];};
Currently executing test runnable instance.
property dom
dom: { /** * Returns a jQuery object obtained by wrapping an object in jQuery. */ wrap( wrappingElement_function: | JQuery.Selector | JQuery.htmlString | Element | JQuery | ((index: number) => string | JQuery) ): JQuery; query(selector: JQuery.Selector, context?: Element | JQuery): JQuery; /** * Returns an array of raw elements pulled out from a jQuery object. */ unwrap(obj: any): any; /** * Returns a boolean indicating whether an object is a DOM object. */ isDom(obj: any): boolean; isType(element: JQuery | HTMLElement, type: string): boolean; /** * Returns a boolean indicating whether an element is visible. */ isVisible(element: JQuery | HTMLElement): boolean; /** * Returns a boolean indicating whether an element is hidden. */ isHidden( element: JQuery | HTMLElement, methodName?: string, options?: object ): boolean; /** * Returns a boolean indicating whether an element can receive focus. */ isFocusable(element: JQuery | HTMLElement): boolean; isTextLike(element: JQuery | HTMLElement): boolean; /** * Returns a boolean indicating whether an element is scrollable. */ isScrollable(element: Window | JQuery | HTMLElement): boolean; /** * Returns a boolean indicating whether an element currently has focus. */ isFocused(element: JQuery | HTMLElement): boolean; /** * Returns a boolean indicating whether an element is detached from the DOM. */ isDetached(element: JQuery | HTMLElement): boolean; /** * Returns a boolean indicating whether an element is attached to the DOM. */ isAttached(element: JQuery | HTMLElement | Window | Document): boolean; isSelector( element: JQuery | HTMLElement, selector: JQuery.Selector ): boolean; /** * Returns a boolean indicating whether an element is a descendent of another element. */ isDescendent( element1: JQuery | HTMLElement, element2: JQuery | HTMLElement ): boolean; /** * Returns a boolean indicating whether object is undefined or html, body, or document. */ isUndefinedOrHTMLBodyDoc(obj: any): boolean; /** * Returns a boolean indicating whether an object is a DOM element. */ isElement(obj: any): boolean; /** * Returns a boolean indicating whether a node is of document type. */ isDocument(obj: any): boolean; /** * Returns a boolean indicating whether an object is a window object. */ isWindow(obj: any): obj is Window; /** * Returns a boolean indicating whether an object is a jQuery object. */ isJquery(obj: any): obj is JQuery; isInputType(element: JQuery | HTMLElement, type: string | string[]): boolean; stringify(element: JQuery | HTMLElement, form: string): string; getElements(element: JQuery): JQuery | HTMLElement[]; getContainsSelector( text: string, filter?: string, options?: CaseMatchable ): JQuery.Selector; getFirstDeepestElement(elements: HTMLElement[], index?: number): HTMLElement; getWindowByElement(element: JQuery | HTMLElement): JQuery | HTMLElement; getReasonIsHidden(element: JQuery | HTMLElement, options?: object): string; getFirstScrollableParent( element: JQuery | HTMLElement ): JQuery | HTMLElement; getFirstFixedOrStickyPositionParent( element: JQuery | HTMLElement ): JQuery | HTMLElement; getFirstStickyPositionParent( element: JQuery | HTMLElement ): JQuery | HTMLElement; getCoordsByPosition( left: number, top: number, xPosition?: string, yPosition?: string ): number; getElementPositioning(element: JQuery | HTMLElement): ElementPositioning; getElementAtPointFromViewport( doc: Document, x: number, y: number ): Element | null; getElementCoordinatesByPosition( element: JQuery | HTMLElement, position: string ): ElementCoordinates; getElementCoordinatesByPositionRelativeToXY( element: JQuery | HTMLElement, x: number, y: number ): ElementPositioning;};
See Also
https://on.cypress.io/dom
property ensure
ensure: Ensure;
Utility functions for ensuring various properties about a subject.
See Also
https://on.cypress.io/api/custom-queries
property Keyboard
Keyboard: { defaults(options: Partial<KeyboardDefaultsOptions>): void;};
See Also
https://on.cypress.io/keyboard-api
property LocalStorage
LocalStorage: LocalStorage;
Internal class for LocalStorage management.
property minimatch
minimatch: typeof Minimatch.minimatch;
Cypress automatically includes minimatch and exposes it as Cypress.minimatch.
See Also
https://on.cypress.io/minimatch
property off
off: Actions;
These events come from Cypress as it issues commands and reacts to their state. These are all useful to listen to for debugging purposes.
See Also
https://on.cypress.io/catalog-of-events#App-Events
property on
on: Actions;
These events come from Cypress as it issues commands and reacts to their state. These are all useful to listen to for debugging purposes.
See Also
https://on.cypress.io/catalog-of-events#App-Events
property once
once: Actions;
These events come from Cypress as it issues commands and reacts to their state. These are all useful to listen to for debugging purposes.
See Also
https://on.cypress.io/catalog-of-events#App-Events
property onSpecWindow
onSpecWindow: ( window: Window, specList: string[] | Array<() => Promise<void>>) => void;
Load files
property platform
platform: string;
OS platform name, from Node
os.platform()
Example 1
Cypress.platform // "darwin"
See Also
https://nodejs.org/api/os.html#os_os_platform
property Promise
Promise: Bluebird.BluebirdStatic;
Cypress automatically includes Bluebird and exposes it as Cypress.Promise.
Example 1
new Cypress.Promise((resolve, reject) => { ... })
See Also
https://on.cypress.io/promise
https://github.com/petkaantonov/bluebird
property require
require: <T = any>(id: string) => T;
Used to include dependencies within the cy.origin() callback
See Also
https://on.cypress.io/origin
property Screenshot
Screenshot: { defaults(options: Partial<ScreenshotDefaultsOptions>): void;};
See Also
https://on.cypress.io/screenshot-api
property SelectorPlayground
SelectorPlayground: { defaults(options: Partial<SelectorPlaygroundDefaultsOptions>): void; getSelector($el: JQuery): JQuery.Selector;};
See Also
https://on.cypress.io/selector-playground-api
property session
session: Session;
Internal class for session management.
property sinon
sinon: sinon.SinonStatic;
Cypress includes Sinon.js library used in
cy.spy
andcy.stub
.See Also
https://sinonjs.org/
https://on.cypress.io/stubs-spies-and-clocks
https://example.cypress.io/commands/spies-stubs-clocks
property spec
spec: Spec;
Currently executing spec file.
Example 1
Cypress.spec// {// name: "config_passing_spec.coffee",// relative: "cypress/integration/config_passing_spec.coffee",// absolute: "/users/smith/projects/web/cypress/integration/config_passing_spec.coffee"// specType: "integration"// }
property testingType
testingType: TestingType;
Current testing type, determined by the Test Runner chosen to run.
property version
version: string;
Cypress version string. i.e. "1.1.2"
Example 1
``` expect(Cypress.version).to.be.a('string') if (Cypress.version === '1.2.0') { // test something specific } ```
See Also
https://on.cypress.io/version
method automation
automation: (eventName: string, ...args: any[]) => Bluebird.Promise<any>;
Fire automation:request event for internal use.
method config
config: { (): Config; < K extends | 'spec' | 'component' | 'e2e' | 'browser' | 'autoOpen' | 'browserUrl' | 'clientRoute' | 'cypressEnv' | 'isNewProject' | 'isTextTerminal' | 'morgan' | 'parentTestsFolder' | 'parentTestsFolderDisplay' | 'projectName' | 'proxyUrl' | 'remote' | 'report' | 'reporterRoute' | 'reporterUrl' | 'socketId' | 'socketIoCookie' | 'socketIoRoute' | 'specs' | 'protocolEnabled' | 'hideCommandLog' | 'hideRunnerUi' | 'baseUrl' | 'env' | 'excludeSpecPattern' | 'numTestsKeptInMemory' | 'port' | 'reporter' | 'reporterOptions' | 'slowTestThreshold' | 'watchForFileChanges' | 'defaultCommandTimeout' | 'execTimeout' | 'pageLoadTimeout' | 'modifyObstructiveCode' | 'requestTimeout' | 'responseTimeout' | 'taskTimeout' | 'fileServerFolder' | 'fixturesFolder' | 'downloadsFolder' | 'redirectionLimit' | 'resolvedNodePath' | 'resolvedNodeVersion' | 'screenshotOnRunFailure' | 'screenshotsFolder' | 'supportFile' | 'testIsolation' | 'videosFolder' | 'trashAssetsBeforeRuns' | 'videoCompression' | 'video' | 'chromeWebSecurity' | 'viewportHeight' | 'viewportWidth' | 'animationDistanceThreshold' | 'waitForAnimations' | 'scrollBehavior' | 'experimentalCspAllowList' | 'experimentalInteractiveRunEvents' | 'experimentalModifyObstructiveThirdPartyCode' | 'experimentalSkipDomainInjection' | 'experimentalJustInTimeCompile' | 'experimentalSourceRewriting' | 'experimentalStudio' | 'experimentalWebKitSupport' | 'experimentalMemoryManagement' | 'retries' | 'includeShadowDom' | 'blockHosts' | 'projectId' | 'supportFolder' | 'specPattern' | 'userAgent' | 'experimentalFetchPolyfill' | 'clientCertificates' | 'setupNodeEvents' | 'indexHtmlFile' | 'defaultBrowser' | 'configFile' | 'arch' | 'browsers' | 'hosts' | 'isInteractive' | 'platform' | 'version' | 'namespace' | 'projectRoot' | 'repoRoot' | 'devServerPublicPathRoute' | 'cypressBinaryRoot' >( key: K ): Config[K]; <K extends keyof TestConfigOverrides>( key: K, value: TestConfigOverrides[K] ): void; (Object: TestConfigOverrides): void;};
Returns all configuration objects.
Example 1
``` Cypress.config() // {defaultCommandTimeout: 10000, pageLoadTimeout: 30000, ...} ```
See Also
https://on.cypress.io/config
Returns one configuration value.
Example 1
``` Cypress.config('pageLoadTimeout') // 60000 ```
See Also
https://on.cypress.io/config
Sets one configuration value.
Example 1
``` Cypress.config('viewportWidth', 800) ```
See Also
https://on.cypress.io/config
Sets multiple configuration values at once.
Example 1
``` Cypress.config({ defaultCommandTimeout: 10000, viewportHeight: 900 }) ```
See Also
https://on.cypress.io/config
method env
env: { (): ObjectLike; (key: string): any; (key: string, value: any): void; (object: ObjectLike): void;};
Returns all environment variables set with CYPRESS_ prefix or in "env" object in "cypress.config.{js,ts,mjs,cjs}"
See Also
https://on.cypress.io/env
Returns specific environment variable or undefined
Example 1
// cypress.config.js { "env": { "foo": "bar" } } Cypress.env("foo") // => bar
See Also
https://on.cypress.io/env
Set value for a variable. Any value you change will be permanently changed for the remainder of your tests.
Example 1
Cypress.env("host", "http://server.dev.local")
See Also
https://on.cypress.io/env
Set values for multiple variables at once. Values are merged with existing values.
Example 1
Cypress.env({ host: "http://server.dev.local", foo: "foo" })
See Also
https://on.cypress.io/env
method getTestRetries
getTestRetries: () => number | null;
Returns
the number of test retries currently enabled for the run
method isBrowser
isBrowser: (name: IsBrowserMatcher) => boolean;
Returns true if currently running the supplied browser name or matcher object. Also accepts an array of matchers.
Parameter matcher
browser name or matcher object to check.
Example 1
isBrowser('chrome') will be true for the browser 'chrome:canary' and 'chrome:stable'
Example 2
isBrowser({ name: 'firefox', channel: 'dev' }) will be true only for the browser 'firefox:dev' (Firefox Developer Edition)
Example 3
isBrowser(['firefox', 'edge']) will be true only for the browsers 'firefox' and 'edge'
Example 4
isBrowser('!firefox') will be true for every browser other than 'firefox'
Example 5
isBrowser({ family: '!chromium'}) will be true for every browser not matching { family: 'chromium' }
method isCy
isCy: { <TSubject = any>(obj: Chainable<TSubject>): obj is Chainable<TSubject>; (obj: any): obj is Chainable<any>;};
Checks if a variable is a valid instance of
cy
or acy
chainable.Example 1
Cypress.isCy(cy) // => true
See Also
https://on.cypress.io/iscy
method log
log: (options: Partial<LogConfig>) => Log;
Internal options for "cy.log" used in custom commands.
See Also
https://on.cypress.io/cypress-log
interface CypressComponentDependency
interface CypressComponentDependency {}
property description
description: string;
Description shown in UI. It is recommended to use the same one the package uses on npm.
Example 1
'Create React apps with no build configuration'
property installer
installer: string;
Code to run when installing. Version is optional.
Should be <package_name>@.
Example 1
react
Example 2
react@18
Example 3
react-scripts
property minVersion
minVersion: string;
Minimum version supported. Should conform to Semantic Versioning as used in
package.json
.Example 1
'^=4.0.0 || ^=5.0.0'
Example 2
'^2.0.0'
See Also
https://docs.npmjs.com/cli/v9/configuring-npm/package-json#dependencies
property name
name: string;
Name to display in the user interface.
Example 1
"React Scripts"
property package
package: string;
Package name on npm.
Example 1
react-scripts
property type
type: string;
Unique identifier.
Example 1
'reactscripts'
interface CypressError
interface CypressError extends Error {}
interface DebugOptions
interface DebugOptions {}
property verbose
verbose: boolean;
interface DefineDevServerConfig
interface DefineDevServerConfig {}
index signature
[key: string]: any;
interface DependencyToInstall
interface DependencyToInstall {}
property dependency
dependency: CypressComponentDependency;
property detectedVersion
detectedVersion: string | null;
property satisfied
satisfied: boolean;
interface DevServerConfig
interface DevServerConfig {}
property cypressConfig
cypressConfig: PluginConfigOptions;
property devServerEvents
devServerEvents: NodeJS.EventEmitter;
property specs
specs: Spec[];
interface Dimensions
interface Dimensions {}
interface Dimensions
interface Dimensions {}
interface ElementCoordinates
interface ElementCoordinates {}
property fromAutWindow
fromAutWindow: WindowPosition & { x: number; y: number };
property fromElViewport
fromElViewport: ViewportPosition & { x: number; y: number };
property fromElWindow
fromElWindow: WindowPosition & { x: number; y: number };
property height
height: number;
property width
width: number;
interface ElementPositioning
interface ElementPositioning {}
property fromAutWindow
fromAutWindow: WindowPosition;
property fromElViewport
fromElViewport: ViewportPosition;
property fromElWindow
fromElWindow: WindowPosition;
property height
height: number;
property scrollLeft
scrollLeft: number;
property scrollTop
scrollTop: number;
property width
width: number;
interface EndToEndConfigOptions
interface EndToEndConfigOptions extends Omit<CoreConfigOptions, 'indexHtmlFile'> {}
property experimentalOriginDependencies
experimentalOriginDependencies?: boolean;
Enables support for
Cypress.require()
for including dependencies within thecy.origin()
callback. false
property experimentalRunAllSpecs
experimentalRunAllSpecs?: boolean;
Enables the "Run All Specs" UI feature, allowing the execution of multiple specs sequentially. false
interface EnqueuedCommandAttributes
interface EnqueuedCommandAttributes {}
interface Ensure
interface Ensure {}
method isAttached
isAttached: ( subject: any, commandName: string, cy: Chainable, onFail?: Log) => void;
Throws an error if
subject
is not a DOM element attached to the application under test.
method isDocument
isDocument: (subject: any, commandName: string, cy: Chainable) => void;
Throws an error if
subject
is not adocument
.
method isElement
isElement: (subject: any, commandName: string, cy: Chainable) => void;
Throws an error if
subject
is not a DOM element.
method isNotDisabled
isNotDisabled: (subject: any, commandName: string, onFail?: Log) => void;
Throws an error if
subject
is a disabled DOM element.
method isNotHiddenByAncestors
isNotHiddenByAncestors: ( subject: any, commandName: string, onFail?: Log) => void;
Throws an error if
subject
is a DOM element hidden by any of its parent elements.
method isNotReadonly
isNotReadonly: (subject: any, commandName: string, onFail?: Log) => void;
Throws an error if
subject
is a read-only form element.
method isScrollable
isScrollable: (subject: any, commandName: string, onFail?: Log) => void;
Throws an error if
subject
is a read-only form element.
method isType
isType: ( subject: any, type: PrevSubject[], commandName: string, cy: Chainable) => void;
Throws an error if
subject
is not one of the passed intype
s.
method isVisible
isVisible: (subject: any, commandName: string, onFail?: Log) => void;
Throws an error if
subject
is not a DOM element visible in the AUT.
method isWindow
isWindow: (subject: any, commandName: string, cy: Chainable) => void;
Throws an error if
subject
is not awindow
.
interface Exec
interface Exec {}
interface ExecOptions
interface ExecOptions extends Loggable, Timeoutable {}
Options object to change the default behavior of cy.exec().
property env
env: object;
Object of environment variables to set before the command executes (e.g. {USERNAME: 'johndoe'}). Will be merged with existing system environment variables
{}
property failOnNonZeroExit
failOnNonZeroExit: boolean;
Whether to fail if the command exits with a non-zero code
true
interface Failable
interface Failable {}
property failOnStatusCode
failOnStatusCode: boolean;
Whether to fail on response codes other than 2xx and 3xx
{true}
property retryOnNetworkFailure
retryOnNetworkFailure: boolean;
Whether Cypress should automatically retry transient network errors under the hood
{true}
property retryOnStatusCodeFailure
retryOnStatusCodeFailure: boolean;
Whether Cypress should automatically retry status code errors under the hood
{false}
interface FileObject
interface FileObject extends NodeEventEmitter {}
property filePath
filePath: string;
property outputPath
outputPath: string;
property shouldWatch
shouldWatch: boolean;
interface FileReferenceObject
interface FileReferenceObject {}
property contents
contents: any;
property fileName
fileName?: string;
property lastModified
lastModified?: number;
property mimeType
mimeType?: string;
interface Forceable
interface Forceable {}
Options to force an event, skipping Actionability check
See Also
https://on.cypress.io/interacting-with-elements#Actionability
property force
force: boolean;
Forces the action, disables waiting for actionability
false
interface JQueryWithSelector
interface JQueryWithSelector<TElement = HTMLElement> extends JQuery<TElement> {}
property selector
selector?: string | null;
interface KeyboardDefaultsOptions
interface KeyboardDefaultsOptions {}
Options for Cypress.Keyboard.defaults()
property keystrokeDelay
keystrokeDelay: number;
Time, in milliseconds, between each keystroke when typing. (Pass 0 to disable)
10
interface LocalStorage
interface LocalStorage {}
property clear
clear: (keys?: string[]) => void;
Called internally to clear
localStorage
in two situations.1. Before every test, this is called with no argument to clear all keys. 2. On
cy.clearLocalStorage(keys)
this is called withkeys
as an argument.You should not call this method directly to clear
localStorage
; instead, usecy.clearLocalStorage(key)
.See Also
https://on.cypress.io/clearlocalstorage
interface Log
interface Log {}
method end
end: () => Log;
method error
error: (error: Error) => Log;
method finish
finish: () => void;
method get
get: { <K extends keyof LogConfig>(attr: K): LogConfig[K]; (): LogConfig };
method set
set: { <K extends keyof LogConfig>(key: K, value: LogConfig[K]): Log; (options: Partial<LogConfig>): Log;};
method snapshot
snapshot: (name?: string, options?: { at?: number; next: string }) => Log;
interface LogAttrs
interface LogAttrs {}
property consoleProps
consoleProps: ObjectLike;
property url
url: string;
interface LogConfig
interface LogConfig extends Timeoutable {}
property $el
$el: JQuery;
The JQuery element for the command. This will highlight the command in the main window when debugging
property autoEnd
autoEnd: boolean;
Set to false if you want to control the finishing of the command in the log yourself
property displayName
displayName: string;
Override *name* for display purposes only
property end
end: boolean;
Set to true to immediately finish the log
property id
id: string;
Unique id for the log, in the form of '-'
property message
message: any;
additional information to include in the log
property name
name: string;
Allows the name of the command to be overwritten
property type
type: 'parent' | 'child';
The scope of the log entry. If child, will appear nested below parents, prefixed with '-'
method consoleProps
consoleProps: () => ObjectLike;
Return an object that will be printed in the dev tools console
interface Loggable
interface Loggable {}
Options that control how a command is logged in the Reporter
property log
log: boolean;
Displays the command in the Command Log
true
interface ObjectLike
interface ObjectLike {}
index signature
[key: string]: any;
interface OriginStorage
interface OriginStorage {}
interface PEMCert
interface PEMCert {}
property cert
cert: string;
Path to the certificate file, relative to project root.
property key
key: string;
Path to the private key file, relative to project root.
property passphrase
passphrase?: string;
Path to a text file containing the passphrase, relative to project root.
interface PFXCert
interface PFXCert {}
property passphrase
passphrase?: string;
Path to a text file containing the passphrase, relative to project root.
property pfx
pfx: string;
Path to the certificate container, relative to project root.
interface PluginConfigOptions
interface PluginConfigOptions extends ResolvedConfigOptions, RuntimeConfigOptions {}
property projectRoot
projectRoot: string;
Absolute path to the root of the project
property testingType
testingType: TestingType;
Type of test and associated runner that was launched.
property version
version: string;
Cypress version.
interface PluginEvents
interface PluginEvents {}
call signature
( action: 'after:browser:launch', fn: ( browser: Browser, browserLaunchDetails: AfterBrowserLaunchDetails ) => void | Promise<void>): void;
call signature
( action: 'after:run', fn: ( results: | CypressCommandLine.CypressRunResult | CypressCommandLine.CypressFailedRunResult ) => void | Promise<void>): void;
call signature
( action: 'after:screenshot', fn: ( details: ScreenshotDetails ) => | void | AfterScreenshotReturnObject | Promise<AfterScreenshotReturnObject>): void;
call signature
( action: 'after:spec', fn: ( spec: Spec, results: CypressCommandLine.RunResult ) => void | Promise<void>): void;
call signature
( action: 'before:run', fn: (runDetails: BeforeRunDetails) => void | Promise<void>): void;
call signature
(action: 'before:spec', fn: (spec: Spec) => void | Promise<void>): void;
call signature
( action: 'before:browser:launch', fn: ( browser: Browser, afterBrowserLaunchOptions: BeforeBrowserLaunchOptions ) => | void | Promise<void> | BeforeBrowserLaunchOptions | Promise<BeforeBrowserLaunchOptions>): void;
call signature
( action: 'file:preprocessor', fn: (file: FileObject) => string | Promise<string>): void;
call signature
( action: 'dev-server:start', fn: (file: DevServerConfig) => Promise<ResolvedDevServerConfig>): void;
call signature
(action: 'task', tasks: Tasks): void;
interface PrevSubjectMap
interface PrevSubjectMap<O = unknown> {}
interface PublicBrowser
interface PublicBrowser {}
Browser that's exposed in public APIs
property channel
channel: BrowserChannel;
property displayName
displayName: string;
property family
family: string;
property majorVersion
majorVersion?: string | number | null;
property name
name: BrowserName;
property path
path: string;
property version
version: string;
interface QueryFn
interface QueryFn<T extends keyof ChainableMethods> {}
call signature
(this: Command, ...args: Parameters<ChainableMethods[T]>): (subject: any) => any;
interface QueryFnWithOriginalFn
interface QueryFnWithOriginalFn<T extends keyof Chainable> {}
call signature
( this: Command, originalFn: QueryFn<T>, ...args: Parameters<ChainableMethods[T]>): (subject: any) => any;
interface RemoteState
interface RemoteState {}
property auth
auth?: Auth;
property domainName
domainName: string;
property fileServer
fileServer: string | null;
property origin
origin: string;
property props
props: Record<string, any>;
property strategy
strategy: 'file' | 'http';
property visiting
visiting: string;
interface RequestOptions
interface RequestOptions extends Loggable, Timeoutable, Failable {}
Full set of possible options for cy.request call
property auth
auth: object;
property body
body: RequestBody;
property encoding
encoding: Encodings;
property followRedirect
followRedirect: boolean;
property form
form: boolean;
property gzip
gzip: boolean;
property headers
headers: object;
property method
method: HttpMethod;
property qs
qs: object;
property url
url: string;
interface ResolvedComponentFrameworkDefinition
interface ResolvedComponentFrameworkDefinition {}
property category
category: 'library' | 'template';
Library (React, Vue) or template (aka "meta framework") (CRA, Next.js, Angular)
property codeGenFramework
codeGenFramework?: 'react' | 'vue' | 'svelte' | 'angular';
This is used interally by Cypress for the "Create From Component" feature.
property componentIndexHtml
componentIndexHtml?: () => string;
Function returning string for used for the component-index.html file. Cypress provides a default if one isn't specified for third party integrations.
property configFramework
configFramework: string;
Used as the flag for
getPreset
for meta framworks, such as finding the webpack config for CRA, Angular, etc. It is also the name of the string added tocypress.config
Example 1
export default { component: { devServer: { framework: 'create-react-app' // can be 'next', 'create-react-app', etc etc. } } }
property dependencies
dependencies: ( bundler: 'webpack' | 'vite', projectPath: string) => Promise<DependencyToInstall[]>;
Array of required dependencies. This could be the bundler and JavaScript library.
property detectors
detectors: CypressComponentDependency[];
Used to attempt to automatically select the correct framework/bundler from the dropdown.
Example 1
const SOLID_DETECTOR: Dependency = { type: 'solid', name: 'Solid.js', package: 'solid-js', installer: 'solid-js', description: 'Solid is a declarative JavaScript library for creating user interfaces', minVersion: '^1.0.0', }
property glob
glob?: string;
This is used interally by Cypress for the "Create From Component" feature.
Example 1
'*.{js,jsx,tsx}'
property mountModule
mountModule: (projectPath: string) => Promise<string>;
This is the path to get mount, eg `import { mount } from <mount_module>, @example:
cypress-ct-solidjs/src/mount
property name
name: string;
Name displayed in Launchpad when doing initial setup.
Example 1
'Solid.js'
Example 2
'Create React App'
property specPattern
specPattern?: '**/*.cy.ts';
Used for the Create From Component feature. This is currently not supported for third party frameworks.
property supportedBundlers
supportedBundlers: Array<'webpack' | 'vite'>;
Supported bundlers.
property supportStatus
supportStatus: 'alpha' | 'beta' | 'full' | 'community';
Support status. Internally alpha | beta | full. Community integrations are "community".
property type
type: string;
A semantic, unique identifier. Must begin with
cypress-ct-
or@org/cypress-ct-
for third party implementations.Example 1
'reactscripts'
Example 2
'nextjs'
Example 3
'cypress-ct-solid-js'
interface ResolvedConfigOptions
interface ResolvedConfigOptions<ComponentDevServerOpts = any> {}
property animationDistanceThreshold
animationDistanceThreshold: number;
The distance in pixels an element must exceed over time to be considered animating 5
property baseUrl
baseUrl: string | null;
Url used as prefix for [cy.visit()](https://on.cypress.io/visit) or [cy.request()](https://on.cypress.io/request) command's url null
property blockHosts
blockHosts: null | string | string[];
The list of hosts to be blocked
property chromeWebSecurity
chromeWebSecurity: boolean;
Whether Chrome Web Security for same-origin policy and insecure mixed content is enabled. Read more about this [here](https://on.cypress.io/web-security#Disabling-Web-Security) true
property clientCertificates
clientCertificates: ClientCertificate[];
An array of objects defining the certificates
property component
component: ComponentConfigOptions<ComponentDevServerOpts>;
Override default config options for Component Testing runner. {}
property defaultBrowser
defaultBrowser: string;
The default browser to launch if the "--browser" command line option is not provided.
property defaultCommandTimeout
defaultCommandTimeout: number;
Time, in milliseconds, to wait until most DOM based commands are considered timed out 4000
property downloadsFolder
downloadsFolder: string;
Path to folder where files downloaded during a test are saved "cypress/downloads"
property e2e
e2e: EndToEndConfigOptions;
Override default config options for E2E Testing runner. {}
property env
env: { [key: string]: any };
Any values to be set as [environment variables](https://on.cypress.io/environment-variables) {}
property excludeSpecPattern
excludeSpecPattern: string | string[];
A String or Array of glob patterns used to ignore test files that would otherwise be shown in your list of tests. Cypress uses minimatch with the options: {dot: true, matchBase: true}. We suggest using a tool to test what files would match. "*.hot-update.js"
property execTimeout
execTimeout: number;
Time, in milliseconds, to wait for a system command to finish executing during a [cy.exec()](https://on.cypress.io/exec) command 60000
property experimentalCspAllowList
experimentalCspAllowList: boolean | experimentalCspAllowedDirectives[];
Indicates whether Cypress should allow CSP header directives from the application under test. - When this option is set to
false
, Cypress will strip the entire CSP header. - When this option is set totrue
, Cypress will only to strip directives that would interfere with or inhibit Cypress functionality. - When this option to an array of allowable directives ([ 'default-src', ... ]
), the directives specified will remain in the response headers.Please see the documentation for more information.
See Also
https://on.cypress.io/experiments#Experimental-CSP-Allow-List false
property experimentalFetchPolyfill
experimentalFetchPolyfill: boolean;
Polyfills
window.fetch
to enable Network spying and stubbing
property experimentalInteractiveRunEvents
experimentalInteractiveRunEvents: boolean;
Allows listening to the
before:run
,after:run
,before:spec
, andafter:spec
events in the plugins file during interactive mode. false
property experimentalJustInTimeCompile
experimentalJustInTimeCompile: boolean;
Allows for just-in-time compiling of a component test, which will only compile assets related to the component. This results in a smaller bundle under test, reducing resource constraints on a given machine. This option is recommended for users with large component testing projects and those who are running into webpack 'chunk load error' issues. Supported for vite and webpack. For component testing only.
See Also
https://on.cypress.io/experiments#Configuration
property experimentalMemoryManagement
experimentalMemoryManagement: boolean;
Enables support for improved memory management within Chromium-based browsers. false
property experimentalModifyObstructiveThirdPartyCode
experimentalModifyObstructiveThirdPartyCode: boolean;
Whether Cypress will search for and replace obstructive code in third party .js or .html files. NOTE: Setting this flag to true removes Subresource Integrity (SRI). Please see https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity. This option has no impact on experimentalSourceRewriting and is only used with the non-experimental source rewriter.
See Also
https://on.cypress.io/experiments#Configuration
property experimentalSkipDomainInjection
experimentalSkipDomainInjection: string[] | null;
Disables setting document.domain to the applications super domain on injection. This experiment is to be used for sites that do not work with setting document.domain due to cross-origin issues. Enabling this option no longer allows for default subdomain navigations, and will require the use of cy.origin(). This option takes an array of strings/string globs.
See Also
https://developer.mozilla.org/en-US/docs/Web/API/Document/domain
https://on.cypress.io/experiments#Experimental-Skip-Domain-Injection null
property experimentalSourceRewriting
experimentalSourceRewriting: boolean;
Enables AST-based JS/HTML rewriting. This may fix issues caused by the existing regex-based JS/HTML replacement algorithm. false
property experimentalStudio
experimentalStudio: boolean;
Generate and save commands directly to your test suite by interacting with your app as an end user would. false
property experimentalWebKitSupport
experimentalWebKitSupport: boolean;
Adds support for testing in the WebKit browser engine used by Safari. See https://on.cypress.io/webkit-experiment for more information. false
property fileServerFolder
fileServerFolder: string;
Path to folder where application files will attempt to be served from root project folder
property fixturesFolder
fixturesFolder: string | false;
Path to folder containing fixture files (Pass false to disable) "cypress/fixtures"
property includeShadowDom
includeShadowDom: boolean;
Enables including elements within the shadow DOM when using querying commands (e.g. cy.get(), cy.find()). Can be set globally in cypress.config.{js,ts,mjs,cjs}, per-suite or per-test in the test configuration object, or programmatically with Cypress.config() false
property indexHtmlFile
indexHtmlFile: string;
property modifyObstructiveCode
modifyObstructiveCode: boolean;
Whether Cypress will search for and replace obstructive JS code in .js or .html files.
See Also
https://on.cypress.io/configuration#modifyObstructiveCode
property numTestsKeptInMemory
numTestsKeptInMemory: number;
The number of tests for which snapshots and command data are kept in memory. Reduce this number if you are experiencing high memory consumption in your browser during a test run. 50
property pageLoadTimeout
pageLoadTimeout: number;
Time, in milliseconds, to wait for page transition events or [cy.visit()](https://on.cypress.io/visit), [cy.go()](https://on.cypress.io/go), [cy.reload()](https://on.cypress.io/reload) commands to fire their page load events 60000
property port
port: number | null;
Port used to host Cypress. Normally this is a randomly generated port null
property projectId
projectId: null | string;
A unique ID for the project used for recording
property redirectionLimit
redirectionLimit: number;
The application under test cannot redirect more than this limit. 20
property reporter
reporter: string;
The [reporter](https://on.cypress.io/reporters) used when running headlessly or in CI "spec"
property reporterOptions
reporterOptions: { [key: string]: any };
Some reporters accept [reporterOptions](https://on.cypress.io/reporters) that customize their behavior "spec"
property requestTimeout
requestTimeout: number;
Time, in milliseconds, to wait for an XHR request to go out in a [cy.wait()](https://on.cypress.io/wait) command 5000
property resolvedNodePath
resolvedNodePath: string;
If a
node
executable is found, this will be the full filesystem path to that executable. null
property resolvedNodeVersion
resolvedNodeVersion: string;
The version of
node
that is being used to execute plugins.Example 1
1.2.3
property responseTimeout
responseTimeout: number;
Time, in milliseconds, to wait until a response in a [cy.request()](https://on.cypress.io/request), [cy.wait()](https://on.cypress.io/wait), [cy.fixture()](https://on.cypress.io/fixture), [cy.getCookie()](https://on.cypress.io/getcookie), [cy.getCookies()](https://on.cypress.io/getcookies), [cy.setCookie()](https://on.cypress.io/setcookie), [cy.clearCookie()](https://on.cypress.io/clearcookie), [cy.clearCookies()](https://on.cypress.io/clearcookies), and [cy.screenshot()](https://on.cypress.io/screenshot) commands 30000
property retries
retries: Nullable< | number | { runMode?: Nullable<number>; openMode?: Nullable<number> } | RetryStrategyWithModeSpecs>;
Number of times to retry a failed test. If a number is set, tests will retry in both runMode and openMode. To enable test retries only in runMode, set e.g.
{ openMode: null, runMode: 2 }
null
property screenshotOnRunFailure
screenshotOnRunFailure: boolean;
Whether Cypress will take a screenshot when a test fails during cypress run. true
property screenshotsFolder
screenshotsFolder: string | false;
Path to folder where screenshots will be saved from [cy.screenshot()](https://on.cypress.io/screenshot) command or after a headless or CI run's test failure "cypress/screenshots"
property scrollBehavior
scrollBehavior: scrollBehaviorOptions;
Viewport position to which an element should be scrolled prior to action commands. Setting
false
disables scrolling. 'top'
property setupNodeEvents
setupNodeEvents: ( on: PluginEvents, config: PluginConfigOptions) => Promise<PluginConfigOptions | void> | PluginConfigOptions | void;
Handle Cypress plugins
property slowTestThreshold
slowTestThreshold: number;
Slow test threshold in milliseconds. Only affects the visual output of some reporters. For example, the spec reporter will display the test time in yellow if over the threshold. 10000
property specPattern
specPattern: string | string[];
Glob pattern to determine what test files to load.
property supportFile
supportFile: string | false;
Path to file to load before test files load. This file is compiled and bundled. (Pass false to disable) "cypress/support/{e2e|component}.js"
property supportFolder
supportFolder: string;
Path to the support folder.
property taskTimeout
taskTimeout: number;
Time, in milliseconds, to wait for a task to finish executing during a cy.task() command 60000
property testIsolation
testIsolation: boolean;
The test isolation ensures a clean browser context between tests.
Cypress will always reset/clear aliases, intercepts, clock, and viewport before each test to ensure a clean test slate; i.e. this configuration only impacts the browser context.
Note: the [
cy.session()
](https://on.cypress.io/session) command will inherent this value to determine whether or not the page is cleared when the command executes. This command is only available in end-to-end testing.- true - The page is cleared before each test. Cookies, local storage and session storage in all domains are cleared before each test. The
cy.session()
command will also clear the page and current browser context when creating or restoring the browser session. - false - The current browser state will persist between tests. The page does not clear before the test and cookies, local storage and session storage will be available in the next test. Thecy.session()
command will only clear the current browser context when creating or restoring the browser session - the current page will not clear.Tradeoffs: Turning test isolation off may improve performance of end-to-end tests, however, previous tests could impact the browser state of the next test and cause inconsistency when using .only(). Be mindful to write isolated tests when test isolation is false. If a test in the suite impacts the state of other tests and it were to fail, you could see misleading errors in later tests which makes debugging clunky. See the [documentation](https://on.cypress.io/test-isolation) for more information.
true
property trashAssetsBeforeRuns
trashAssetsBeforeRuns: boolean;
Whether Cypress will trash assets within the screenshotsFolder and videosFolder before headless test runs. true
property userAgent
userAgent: null | string;
The user agent the browser sends in all request headers.
property video
video: boolean;
Whether Cypress will record a video of the test run when executing in run mode. false
property videoCompression
videoCompression: number | boolean;
The quality setting for the video compression, in Constant Rate Factor (CRF). Enable compression by passing true to use the default CRF of 32. Compress at custom CRF by passing a number between 1 and 51, where a lower value results in better quality (at the expense of a higher file size). Disable compression by passing false or 0. 32
property videosFolder
videosFolder: string;
Path to folder where videos will be saved after a headless or CI run "cypress/videos"
property viewportHeight
viewportHeight: number;
Default height in pixels for the application under tests' viewport (Override with [cy.viewport()](https://on.cypress.io/viewport) command) 660
property viewportWidth
viewportWidth: number;
Default width in pixels for the application under tests' viewport. (Override with [cy.viewport()](https://on.cypress.io/viewport) command) 1000
property waitForAnimations
waitForAnimations: boolean;
Whether to wait for elements to finish animating before executing commands true
property watchForFileChanges
watchForFileChanges: boolean;
Whether Cypress will watch and restart tests on test file changes true
interface ResolvedDevServerConfig
interface ResolvedDevServerConfig {}
interface Response
interface Response<T> {}
property allRequestResponses
allRequestResponses: any[];
property body
body: T;
property duration
duration: number;
property headers
headers: { [key: string]: string | string[] };
property isOkStatusCode
isOkStatusCode: boolean;
property redirectedToUrl
redirectedToUrl?: string;
property redirects
redirects?: string[];
property requestHeaders
requestHeaders: { [key: string]: string };
property status
status: number;
property statusText
statusText: string;
interface RetryStrategyDetectFlakeAndPassOnThresholdType
interface RetryStrategyDetectFlakeAndPassOnThresholdType {}
property experimentalOptions
experimentalOptions?: { maxRetries: number; // defaults to 2 if experimentalOptions is not provided, must be a whole number > 0 passesRequired: number; // defaults to 2 if experimentalOptions is not provided, must be a whole number > 0 and <= maxRetries};
property experimentalStrategy
experimentalStrategy: 'detect-flake-and-pass-on-threshold';
interface RetryStrategyDetectFlakeButAlwaysFailType
interface RetryStrategyDetectFlakeButAlwaysFailType {}
property experimentalOptions
experimentalOptions?: { maxRetries: number; // defaults to 2 if experimentalOptions is not provided, must be a whole number > 0 stopIfAnyPassed: boolean; // defaults to false if experimentalOptions is not provided};
property experimentalStrategy
experimentalStrategy: 'detect-flake-but-always-fail';
interface RouteOptions
interface RouteOptions {}
property delay
delay: number;
property force404
force404: boolean;
property headers
headers: object | null;
property method
method: HttpMethod;
property response
response: any;
property status
status: number;
property url
url: string | RegExp;
method onAbort
onAbort: (...args: any[]) => void;
method onRequest
onRequest: (...args: any[]) => void;
method onResponse
onResponse: (...args: any[]) => void;
interface RuntimeConfigOptions
interface RuntimeConfigOptions extends Partial<RuntimeServerConfigOptions> {}
Options appended to config object on runtime.
property arch
arch: string;
CPU architecture, from Node
os.arch()
See Also
https://nodejs.org/api/os.html#os_os_arch
property browsers
browsers: Browser[];
Available browsers found on your system.
property configFile
configFile: string;
Absolute path to the config file (default: /cypress.config.{js,ts,mjs,cjs})
property cypressBinaryRoot
cypressBinaryRoot: string;
property devServerPublicPathRoute
devServerPublicPathRoute: string;
property hosts
hosts: null | { [key: string]: string };
Hosts mappings to IP addresses.
property isInteractive
isInteractive: boolean;
Whether Cypress was launched via 'cypress open' (interactive mode)
property namespace
namespace: string;
property platform
platform: 'linux' | 'darwin' | 'win32';
The platform Cypress is running on.
property projectRoot
projectRoot: string;
property remote
remote: RemoteState;
property repoRoot
repoRoot: string | null;
property version
version: string;
The Cypress version being used.
interface RuntimeServerConfigOptions
interface RuntimeServerConfigOptions {}
Optional options added before the server starts
property autoOpen
autoOpen: boolean;
property browser
browser: Browser;
The browser Cypress is running on.
property browserUrl
browserUrl: string;
property clientRoute
clientRoute: string;
property cypressEnv
cypressEnv: string;
property hideCommandLog
hideCommandLog: boolean;
property hideRunnerUi
hideRunnerUi: boolean;
property isNewProject
isNewProject: boolean;
property isTextTerminal
isTextTerminal: boolean;
property morgan
morgan: boolean;
property parentTestsFolder
parentTestsFolder: string;
property parentTestsFolderDisplay
parentTestsFolderDisplay: string;
property projectName
projectName: string;
property protocolEnabled
protocolEnabled: boolean;
property proxyUrl
proxyUrl: string;
property remote
remote: RemoteState;
property report
report: boolean;
property reporterRoute
reporterRoute: string;
property reporterUrl
reporterUrl: string;
property socketId
socketId: null | string;
property socketIoCookie
socketIoCookie: string;
property socketIoRoute
socketIoRoute: string;
property spec
spec: Cypress['spec'] | null;
property specs
specs: Array<Cypress['spec']>;
interface ScreenshotDefaultsOptions
interface ScreenshotDefaultsOptions extends ScreenshotOptions {}
property screenshotOnRunFailure
screenshotOnRunFailure: boolean;
interface ScreenshotDetails
interface ScreenshotDetails {}
property blackout
blackout: string[];
property dimensions
dimensions: Dimensions;
property duration
duration: number;
property multipart
multipart: boolean;
property name
name: string;
property path
path: string;
property pixelRatio
pixelRatio: number;
property scaled
scaled: boolean;
property size
size: number;
property specName
specName: string;
property takenAt
takenAt: string;
property testFailure
testFailure: boolean;
interface ScreenshotOptions
interface ScreenshotOptions {}
property blackout
blackout: string[];
property capture
capture: 'runner' | 'viewport' | 'fullPage';
property clip
clip: Dimensions;
property disableTimersAndAnimations
disableTimersAndAnimations: boolean;
property onAfterScreenshot
onAfterScreenshot: ( $el: JQuery, props: { path: string; size: number; dimensions: { width: number; height: number; }; multipart: boolean; pixelRatio: number; takenAt: string; name: string; blackout: string[]; duration: number; testAttemptIndex: number; }) => void;
property onBeforeScreenshot
onBeforeScreenshot: ($el: JQuery) => void;
property overwrite
overwrite: boolean;
property padding
padding: Padding;
property scale
scale: boolean;
interface ScrollIntoViewOptions
interface ScrollIntoViewOptions extends ScrollToOptions {}
property offset
offset: Offset;
Amount to scroll after the element has been scrolled into view
{top: 0, left: 0}
interface ScrollToOptions
interface ScrollToOptions extends Loggable, Timeoutable {}
property duration
duration: number;
Scrolls over the duration (in ms)
0
property easing
easing: 'swing' | 'linear';
Will scroll with the easing animation
'swing'
property ensureScrollable
ensureScrollable: boolean;
Ensure element is scrollable. Error if element is not scrollable
true
interface SelectFileOptions
interface SelectFileOptions extends Loggable, Timeoutable, ActionableOptions {}
property action
action: 'select' | 'drag-drop';
Which user action to perform.
select
matches selecting a file whiledrag-drop
matches dragging files from the operating system into the document.'select'
interface SelectOptions
interface SelectOptions extends Loggable, Timeoutable, Forceable {}
property interval
interval: number;
interface SelectorPlaygroundDefaultsOptions
interface SelectorPlaygroundDefaultsOptions {}
property onElement
onElement: ($el: JQuery) => string | null | undefined;
property selectorPriority
selectorPriority: string[];
interface Server
interface Server extends RouteOptions {}
interface ServerSessionData
interface ServerSessionData extends Omit<SessionData, 'setup' | 'validate'> {}
interface Session
interface Session {}
property clearAllSavedSessions
clearAllSavedSessions: () => Promise<void>;
Clear all sessions saved on the backend, including cached global sessions.
property clearCurrentSessionData
clearCurrentSessionData: () => Promise<void>;
Clear all storage and cookie data across all origins associated with the current session.
property getCurrentSessionData
getCurrentSessionData: () => Promise<SessionData>;
Get all storage and cookie data across all origins associated with the current session.
property getSession
getSession: (id: string) => Promise<ServerSessionData>;
Get all storage and cookie data saved on the backend associated with the provided session id.
interface SessionData
interface SessionData {}
property cacheAcrossSpecs
cacheAcrossSpecs: SessionOptions['cacheAcrossSpecs'];
property cookies
cookies?: Cookie[] | null;
property hydrated
hydrated: boolean;
property id
id: string;
property localStorage
localStorage?: OriginStorage[] | null;
property sessionStorage
sessionStorage?: OriginStorage[] | null;
property setup
setup: () => void;
property validate
validate?: SessionOptions['validate'];
interface SessionOptions
interface SessionOptions {}
property cacheAcrossSpecs
cacheAcrossSpecs?: boolean;
Whether or not to persist the session across all specs in the run. {false}
property validate
validate?: () => Promise<false | void> | void;
Function to run immediately after the session is created and
setup
function runs or after a session is restored and the page is cleared. If this returnsfalse
, throws an exception, returns a Promise which resolves tofalse
or rejects or contains any failing Cypress command, the session is considered invalid.If validation fails immediately after
setup
, the test will fail. If validation fails after restoring a session,setup
will re-run. {false}
interface SetCookieOptions
interface SetCookieOptions extends Loggable, Timeoutable {}
Options that control how the
cy.setCookie
command sets the cookie in the browser.See Also
https://on.cypress.io/setcookie#Arguments
property domain
domain: string;
Represents the domain the cookie belongs to (e.g. "docs.cypress.io", "github.com"). location.hostname
property expiry
expiry: number;
The cookie's expiry time, specified in seconds since Unix Epoch. The default is expiry is 20 years in the future from current time.
property hostOnly
hostOnly: boolean;
Whether or not the cookie is a host-only cookie, meaning the request's host must exactly match the domain of the cookie. false
property httpOnly
httpOnly: boolean;
Whether or not the cookie is HttpOnly, meaning the cookie is inaccessible to client-side scripts. The Cypress cookie API has access to HttpOnly cookies. false
property path
path: string;
The path of the cookie. "/"
property sameSite
sameSite: SameSiteStatus;
The cookie's SameSite value. If set, should be one of
lax
,strict
, orno_restriction
.no_restriction
is the equivalent ofSameSite=None
. Passundefined
to use the browser's default. Note:no_restriction
can only be used if the secure flag is set totrue
. undefined
property secure
secure: boolean;
Whether a cookie's scope is limited to secure channels, such as HTTPS. false
interface Shadow
interface Shadow {}
Element traversal options for dealing with Shadow DOM
property includeShadowDom
includeShadowDom: boolean;
Include shadow DOM in search
@default: false
interface ShadowDomOptions
interface ShadowDomOptions {}
property includeShadowDom
includeShadowDom?: boolean;
interface SinonSpyAgent
interface SinonSpyAgent<A extends sinon.SinonSpy> {}
method as
as: (alias: string) => Omit<A, 'withArgs'> & Agent<A>;
Saves current spy / stub under an alias.
Example 1
cy.spy(win, 'fetch').as('winFetch') // Alias 'window.fetch' spy as "winFetch"
See Also
https://on.cypress.io/stubs-spies-and-clocks
https://on.cypress.io/as
method log
log: (shouldOutput?: boolean) => Omit<A, 'withArgs'> & Agent<A>;
method withArgs
withArgs: (...args: any[]) => Omit<A, 'withArgs'> & Agent<A>;
Creates a spy / stub but only for calls with given arguments.
Example 1
const s = cy.stub(JSON, 'parse').withArgs('invalid').returns(42) expect(JSON.parse('invalid')).to.equal(42) expect(s).to.have.been.calledOnce
See Also
https://on.cypress.io/stubs-spies-and-clocks
https://on.cypress.io/as
interface Spec
interface Spec {}
A Cypress spec.
property absolute
absolute: string;
property baseName
baseName?: string;
property fileExtension
fileExtension?: string;
property fileName
fileName?: string;
property id
id?: string;
property name
name: string;
property relative
relative: string;
property specFilter
specFilter?: string;
property specType
specType?: CypressSpecType;
interface StorableArray
interface StorableArray extends Array<Storable> {}
interface StorableObject
interface StorableObject {}
index signature
[key: string]: Storable;
interface StorageByOrigin
interface StorageByOrigin {}
index signature
[key: string]: StorableRecord;
interface Storages
interface Storages {}
property localStorage
localStorage: OriginStorage[];
property sessionStorage
sessionStorage: OriginStorage[];
interface SuiteConfigOverrides
interface SuiteConfigOverrides extends Partial< Pick< ConfigOptions, | 'animationDistanceThreshold' | 'blockHosts' | 'defaultCommandTimeout' | 'env' | 'execTimeout' | 'includeShadowDom' | 'numTestsKeptInMemory' | 'pageLoadTimeout' | 'redirectionLimit' | 'requestTimeout' | 'responseTimeout' | 'retries' | 'screenshotOnRunFailure' | 'slowTestThreshold' | 'scrollBehavior' | 'taskTimeout' | 'viewportHeight' | 'viewportWidth' | 'waitForAnimations' > >, Partial<Pick<ResolvedConfigOptions, 'baseUrl' | 'testIsolation'>> {}
property browser
browser?: IsBrowserMatcher | IsBrowserMatcher[];
property keystrokeDelay
keystrokeDelay?: number;
interface SystemDetails
interface SystemDetails {}
interface Tasks
interface Tasks {}
index signature
[key: string]: Task;
interface TestConfigOverrides
interface TestConfigOverrides extends Partial< Pick< ConfigOptions, | 'animationDistanceThreshold' | 'blockHosts' | 'defaultCommandTimeout' | 'env' | 'execTimeout' | 'includeShadowDom' | 'numTestsKeptInMemory' | 'pageLoadTimeout' | 'redirectionLimit' | 'requestTimeout' | 'responseTimeout' | 'retries' | 'screenshotOnRunFailure' | 'slowTestThreshold' | 'scrollBehavior' | 'taskTimeout' | 'viewportHeight' | 'viewportWidth' | 'waitForAnimations' > >, Partial<Pick<ResolvedConfigOptions, 'baseUrl'>> {}
property browser
browser?: IsBrowserMatcher | IsBrowserMatcher[];
property keystrokeDelay
keystrokeDelay?: number;
interface Timeoutable
interface Timeoutable {}
Options that control how long Test Runner is waiting for command to succeed
property timeout
timeout: number;
Time to wait (ms)
defaultCommandTimeout
See Also
https://on.cypress.io/configuration#Timeouts
interface TimeoutableXHR
interface TimeoutableXHR {}
Options that control how long the Test Runner waits for an XHR request and response to succeed
property requestTimeout
requestTimeout: number;
Time to wait for the request (ms)
See Also
https://on.cypress.io/configuration#Timeouts
property responseTimeout
responseTimeout: number;
Time to wait for the response (ms)
See Also
https://on.cypress.io/configuration#Timeouts
interface TriggerOptions
interface TriggerOptions extends Loggable, Timeoutable, ActionableOptions {}
Options to change the default behavior of .trigger()
property bubbles
bubbles: boolean;
Whether the event bubbles
true
property cancelable
cancelable: boolean;
Whether the event is cancelable
true
property eventConstructor
eventConstructor: string;
The type of the event you want to trigger
'Event'
interface TypeOptions
interface TypeOptions extends Loggable, Timeoutable, ActionableOptions {}
Options that control
cy.type
commandSee Also
https://on.cypress.io/type
property delay
delay: number;
Delay after each keypress (ms)
10
property parseSpecialCharSequences
parseSpecialCharSequences: boolean;
Parse special characters for strings surrounded by
{}
, such as{esc}
. Set tofalse
to type the literal characters insteadtrue
property release
release: boolean;
Keep a modifier activated between commands
true
interface UrlOptions
interface UrlOptions extends Loggable, Timeoutable {}
Options to change the default behavior of .url()
property decode
decode: boolean;
Whether the url is decoded
false
interface Viewport
interface Viewport {}
property viewportHeight
viewportHeight: number;
property viewportWidth
viewportWidth: number;
interface ViewportPosition
interface ViewportPosition extends WindowPosition {}
interface VisitOptions
interface VisitOptions extends Loggable, Timeoutable, Failable {}
Visit website options
See Also
https://on.cypress.io/visit
property auth
auth: Auth;
Cypress will automatically apply the right authorization headers if you're attempting to visit an application that requires Basic Authentication.
Example 1
cy.visit('https://www.acme.com/', { auth: { username: 'wile', password: 'coyote' } })
property body
body: RequestBody;
An optional body to send along with a
POST
request. If it is a string, it will be passed along unmodified. If it is an object, it will be URL encoded to a string and sent with aContent-Type: application/x-www-urlencoded
header.Example 1
cy.visit({ url: 'http://www.example.com/form.html', method: 'POST', body: { "field1": "foo", "field2": "bar" } })
property headers
headers: { [header: string]: string };
An object that maps HTTP header names to values to be sent along with the request.
Example 1
cy.visit({ url: 'http://www.example.com', headers: { 'Accept-Language': 'en-US' } })
property method
method: 'GET' | 'POST';
The HTTP method to use in the visit. Can be
GET
orPOST
."GET"
property qs
qs: object;
Query parameters to append to the
url
of the request.
property url
url: string;
The URL to visit. Behaves the same as the
url
argument.
method onBeforeLoad
onBeforeLoad: (win: AUTWindow) => void;
Called before your page has loaded all of its resources.
Parameter contentWindow
the remote page's window object
method onLoad
onLoad: (win: AUTWindow) => void;
Called once your page has fired its load event.
Parameter contentWindow
the remote page's window object
interface WindowPosition
interface WindowPosition {}
property left
left: number;
property leftCenter
leftCenter: number;
property top
top: number;
property topCenter
topCenter: number;
interface Withinable
interface Withinable {}
Options that control how a command behaves in the
within
scope. These options will determine how nodes are selected.
property withinSubject
withinSubject: JQuery | HTMLElement | null;
Element to search for children in. If null, search begins from root-level DOM element.
depends on context, null if outside of within wrapper
interface WriteFileOptions
interface WriteFileOptions extends Loggable {}
Options to change the default behavior of .writeFile
type ActiveSessions
type ActiveSessions = Record<string, SessionData>;
type Agent
type Agent<T extends sinon.SinonSpy> = SinonSpyAgent<T> & T;
type AUTWindow
type AUTWindow = Window & typeof globalThis & ApplicationWindow;
Window type for Application Under Test(AUT)
type BrowserChannel
type BrowserChannel = 'stable' | 'canary' | 'beta' | 'dev' | 'nightly' | string;
type BrowserFamily
type BrowserFamily = 'chromium' | 'firefox' | 'webkit';
type BrowserName
type BrowserName = 'electron' | 'chrome' | 'chromium' | 'firefox' | 'edge' | string;
type CanReturnChainable
type CanReturnChainable = void | Chainable | Promise<unknown>;
type ChainableMethods
type ChainableMethods<Subject = any> = { [P in keyof Chainable<Subject>]: Chainable<Subject>[P] extends ( ...args: any[] ) => any ? Chainable<Subject>[P] : never;};
type ComponentFrameworkDefinition
type ComponentFrameworkDefinition = Omit< ResolvedComponentFrameworkDefinition, 'dependencies'> & { dependencies: (bundler: 'webpack' | 'vite') => CypressComponentDependency[];};
type Config
type Config = ResolvedConfigOptions & RuntimeConfigOptions & RuntimeServerConfigOptions;
The configuration for Cypress.
type ConfigHandler
type ConfigHandler<T> = T | (() => T | Promise<T>);
type ConfigOptions
type ConfigOptions<ComponentDevServerOpts = any> = Partial< UserConfigOptions<ComponentDevServerOpts>> & { /** * Hosts mappings to IP addresses. */ hosts?: null | { [key: string]: string };};
Takes ComponentDevServerOpts to track the signature of the devServerConfig for the provided
devServer
, so we have proper completion fordevServerConfig
type CoreConfigOptions
type CoreConfigOptions = Partial<Omit<ResolvedConfigOptions, TestingType>>;
All configuration items are optional.
type CypressSpecType
type CypressSpecType = 'integration' | 'component';
Spec type for the given test. "integration" is the default, but tests run using
open --component
will be "component"See Also
https://on.cypress.io/experiments
type DevServerConfigOptions
type DevServerConfigOptions = | { bundler: 'webpack'; framework: | 'react' | 'vue' | 'vue-cli' | 'nuxt' | 'create-react-app' | 'next' | 'svelte'; webpackConfig?: ConfigHandler<PickConfigOpt<'webpackConfig'>>; } | { bundler: 'vite'; framework: 'react' | 'vue' | 'svelte'; viteConfig?: ConfigHandler< Omit<Exclude<PickConfigOpt<'viteConfig'>, undefined>, 'base' | 'root'> >; } | { bundler: 'webpack'; framework: 'angular'; webpackConfig?: ConfigHandler<PickConfigOpt<'webpackConfig'>>; options?: { projectConfig: AngularDevServerProjectConfig; }; };
type DevServerFn
type DevServerFn<ComponentDevServerOpts = any> = ( cypressDevServerConfig: DevServerConfig, devServerConfig: ComponentDevServerOpts) => ResolvedDevServerConfig | Promise<ResolvedDevServerConfig>;
type Diff
type Diff<T extends string, U extends string> = ({ [P in T]: P } & { [P in U]: never;} & { [x: string]: never })[T];
type Encodings
type Encodings = | 'ascii' | 'base64' | 'binary' | 'hex' | 'latin1' | 'utf8' | 'utf-8' | 'ucs2' | 'ucs-2' | 'utf16le' | 'utf-16le' | null;
type experimentalCspAllowedDirectives
type experimentalCspAllowedDirectives = | 'default-src' | 'child-src' | 'frame-src' | 'script-src' | 'script-src-elem' | 'form-action';
type FileContents
type FileContents = string | any[] | object;
type FileReference
type FileReference = string | BufferType | FileReferenceObject | TypedArray;
type HistoryDirection
type HistoryDirection = 'back' | 'forward';
type HttpMethod
type HttpMethod = string;
type IsBrowserMatcher
type IsBrowserMatcher = | BrowserName | Partial<Browser> | Array<BrowserName | Partial<Browser>>;
type Omit
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
type Padding
type Padding = | number | [number] | [number, number] | [number, number, number] | [number, number, number, number];
type PickConfigOpt
type PickConfigOpt<T> = T extends keyof DefineDevServerConfig ? DefineDevServerConfig[T] : any;
type PluginConfig
type PluginConfig = ( on: PluginEvents, config: PluginConfigOptions) => void | ConfigOptions | Promise<ConfigOptions>;
type PositionType
type PositionType = | 'topLeft' | 'top' | 'topRight' | 'left' | 'center' | 'right' | 'bottomLeft' | 'bottom' | 'bottomRight';
type PrevSubject
type PrevSubject = keyof PrevSubjectMap;
type RequestBody
type RequestBody = string | object | boolean | null;
type RetryStrategy
type RetryStrategy = | RetryStrategyDetectFlakeAndPassOnThresholdType | RetryStrategyDetectFlakeButAlwaysFailType;
type RetryStrategyWithModeSpecs
type RetryStrategyWithModeSpecs = RetryStrategy & { openMode: boolean; // defaults to false runMode: boolean; // defaults to true};
type SameSiteStatus
type SameSiteStatus = 'no_restriction' | 'strict' | 'lax';
type scrollBehaviorOptions
type scrollBehaviorOptions = false | 'center' | 'top' | 'bottom' | 'nearest';
type Storable
type Storable = string | number | boolean | null | StorableObject | StorableArray;
type StorableRecord
type StorableRecord = Record<string, Storable>;
type Task
type Task = (value: any) => any;
Individual task callback. Receives a single argument and _should_ return anything but
undefined
or a promise that resolves anything butundefined
TODO: find a way to express "anything but undefined" in TypeScript
type TestingType
type TestingType = 'e2e' | 'component';
type ThenReturn
type ThenReturn<S, R> = R extends void ? Chainable<S> : R extends R | undefined ? Chainable<S | Exclude<R, undefined>> : Chainable<S>;
type ThirdPartyComponentFrameworkDefinition
type ThirdPartyComponentFrameworkDefinition = Pick< ComponentFrameworkDefinition, 'type' | 'name' | 'supportedBundlers' | 'detectors' | 'dependencies'> & { /** * @example `cypress-ct-${string} for third parties. Any string is valid internally. */ type: string;
/** * Raw SVG icon that will be displayed in the Project Setup Wizard. Used for third parties that * want to render a custom icon. */ icon?: string;};
Certain properties are not supported for third party frameworks right now, such as ones related to the "Create From" feature. This is a subset of properties that are exposed for public usage.
type TypedArray
type TypedArray = | Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array;
type UserConfigOptions
type UserConfigOptions<ComponentDevServerOpts = any> = Omit< ResolvedConfigOptions<ComponentDevServerOpts>, | 'baseUrl' | 'excludeSpecPattern' | 'supportFile' | 'specPattern' | 'indexHtmlFile'>;
Config options that can be assigned on cypress.config.{js,ts,mjs,cjs} file
type ViewportOrientation
type ViewportOrientation = 'portrait' | 'landscape';
type ViewportPreset
type ViewportPreset = | 'macbook-16' | 'macbook-15' | 'macbook-13' | 'macbook-11' | 'ipad-2' | 'ipad-mini' | 'iphone-xr' | 'iphone-x' | 'iphone-6+' | 'iphone-se2' | 'iphone-8' | 'iphone-7' | 'iphone-6' | 'iphone-5' | 'iphone-4' | 'iphone-3' | 'samsung-s10' | 'samsung-note9';
namespace mocha
module 'mocha' {}
variable after
let after: HookFunction;
Execute after running tests.
- _Only available when invoked via the mocha CLI._
See Also
https://mochajs.org/api/global.html#after
variable afterEach
let afterEach: HookFunction;
Execute after each test case.
- _Only available when invoked via the mocha CLI._
See Also
https://mochajs.org/api/global.html#afterEach
variable before
let before: HookFunction;
Execute before running tests.
- _Only available when invoked via the mocha CLI._
See Also
https://mochajs.org/api/global.html#before
variable beforeEach
let beforeEach: HookFunction;
Execute before each test case.
- _Only available when invoked via the mocha CLI._
See Also
https://mochajs.org/api/global.html#beforeEach
variable describe
let describe: SuiteFunction;
Describe a "suite" containing nested suites and tests.
- _Only available when invoked via the mocha CLI._
variable it
let it: TestFunction;
Describes a test case.
- _Only available when invoked via the mocha CLI._
variable setup
let setup: HookFunction;
Execute before each test case.
- _Only available when invoked via the mocha CLI._
See Also
https://mochajs.org/api/global.html#beforeEach
variable suite
let suite: SuiteFunction;
Describe a "suite" containing nested suites and tests.
- _Only available when invoked via the mocha CLI._
variable suiteSetup
let suiteSetup: HookFunction;
Execute before running tests.
- _Only available when invoked via the mocha CLI._
See Also
https://mochajs.org/api/global.html#before
variable suiteTeardown
let suiteTeardown: HookFunction;
Execute after running tests.
- _Only available when invoked via the mocha CLI._
See Also
https://mochajs.org/api/global.html#after
variable teardown
let teardown: HookFunction;
Execute after each test case.
- _Only available when invoked via the mocha CLI._
See Also
https://mochajs.org/api/global.html#afterEach
variable test
let test: TestFunction;
Describes a test case.
- _Only available when invoked via the mocha CLI._
variable xit
let xit: PendingTestFunction;
Describes a pending test case.
- _Only available when invoked via the mocha CLI._
function run
run: () => void;
Triggers root suite execution.
- _Only available if flag --delay is passed into Mocha._ - _Only available when invoked via the mocha CLI._
See Also
https://mochajs.org/api/global.html#runWithSuite
class Context
class Context {}
Test context
See Also
https://mochajs.org/api/module-Context.html#~Context
property currentTest
currentTest?: Test;
property test
test?: Runnable;
method retries
retries: { (): number; (n: number): this };
Get the number of allowed retries on failed tests.
Set the number of allowed retries on failed tests.
method runnable
runnable: { (): Runnable; (runnable: Runnable): this };
Get the context
Runnable
.Set the context
Runnable
.
method skip
skip: () => never;
Mark a test as skipped.
method slow
slow: { (): number; (ms: string | number): this };
Get test slowness threshold.
Set test slowness threshold.
method timeout
timeout: { (): number; (ms: string | number): this };
Get test timeout.
Set test timeout.
class Hook
class Hook extends Runnable {}
Initialize a new
Hook
with the giventitle
and callbackfn
See Also
https://mochajs.org/api/Hook.html
property originalTitle
originalTitle?: string;
property type
type: string;
method error
error: { (): any; (err: any): void };
Get the test
err
.See Also
https://mochajs.org/api/Hook.html#error
Set the test
err
.See Also
https://mochajs.org/api/Hook.html#error
class Mocha
class Mocha {}
Mocha API
See Also
https://mochajs.org/api/mocha
constructor
constructor(options?: Mocha.MochaOptions);
property files
files: string[];
property options
options: Mocha.MochaInstanceOptions;
property suite
suite: Mocha.Suite;
method addFile
addFile: (file: string) => this;
Add test
file
.See Also
https://mochajs.org/api/mocha#addFile
method allowUncaught
allowUncaught: () => boolean;
Enable uncaught errors to propagate (in browser).
See Also
https://mochajs.org/api/mocha#allowUncaught
method asyncOnly
asyncOnly: () => this;
Makes all tests async (accepting a callback)
See Also
https://mochajs.org/api/mocha#asyncOnly.
method bail
bail: (bail?: boolean) => this;
Enable or disable bailing on the first failure.
See Also
https://mochajs.org/api/mocha#bail
method checkLeaks
checkLeaks: () => this;
Enable global leak checking.
See Also
https://mochajs.org/api/mocha#checkLeaks
method delay
delay: () => boolean;
Delay root suite execution.
See Also
https://mochajs.org/api/mocha#delay
method fgrep
fgrep: (str: string) => this;
Escape string and add it to grep as a RegExp.
See Also
https://mochajs.org/api/mocha#fgrep
method forbidOnly
forbidOnly: () => boolean;
Tests marked only fail the suite
See Also
https://mochajs.org/api/mocha#forbidOnly
method forbidPending
forbidPending: () => boolean;
Pending tests and tests marked skip fail the suite
See Also
https://mochajs.org/api/mocha#forbidPending
method fullTrace
fullTrace: () => this;
Display long stack-trace on failing
See Also
https://mochajs.org/api/mocha#fullTrace
method globals
globals: (globals: string | ReadonlyArray<string>) => this;
Ignore
globals
array or string.See Also
https://mochajs.org/api/mocha#globals
method grep
grep: (re: string | RegExp) => this;
Add regexp to grep, if
re
is a string it is escaped.See Also
https://mochajs.org/api/mocha#grep
method growl
growl: () => this;
Enable growl support.
See Also
https://mochajs.org/api/mocha#growl
method invert
invert: () => this;
Invert
.grep()
matches.See Also
https://mochajs.org/api/mocha#invert
method loadFiles
protected loadFiles: (fn?: () => void) => void;
Load registered files.
See Also
https://mochajs.org/api/mocha#loadFiles
method loadFilesAsync
loadFilesAsync: () => Promise<void>;
Loads ESM (and CJS) test files asynchronously.
See Also
https://mochajs.org/api/mocha#loadFilesAsync
method noHighlighting
noHighlighting: () => this;
Disable syntax highlighting (in browser).
See Also
https://mochajs.org/api/mocha#noHighlighting
method parallelMode
parallelMode: (enabled?: boolean) => this;
Toggles parallel mode.
Must be run before calling
run
. Changes theRunner
class to use; also enables lazy file loading if not already done so.See Also
https://mochajs.org/api/mocha#parallelMode
method reporter
reporter: { (reporter: Mocha.Reporter, reporterOptions?: any): this; (reporter?: string | Mocha.ReporterConstructor, reporterOptions?: any): this;};
Set reporter to one of the built-in reporters.
See Also
https://mochajs.org/api/mocha#reporter
Set reporter to the provided constructor, one of the built-in reporters, or loads a reporter from a module path. Defaults to
"spec"
.See Also
https://mochajs.org/api/mocha#reporter
method retries
retries: (n: number) => this;
Set the number of times to retry failed tests.
See Also
https://mochajs.org/api/mocha#retries
method rootHooks
rootHooks: (hooks: Mocha.RootHookObject) => this;
Assigns hooks to the root suite.
See Also
https://mochajs.org/api/mocha#rootHooks
method run
run: (fn?: (failures: number) => void) => Mocha.Runner;
Run tests and invoke
fn()
when complete.Note that
run
relies on Node'srequire
to execute the test interface functions and will be subject to the cache - if the files are already in therequire
cache, they will effectively be skipped. Therefore, to run tests multiple times or to run tests in files that are already in therequire
cache, make sure to clear them from the cache first in whichever manner best suits your needs.See Also
https://mochajs.org/api/mocha#run
method slow
slow: (slow: string | number) => this;
Set slowness threshold in milliseconds.
See Also
https://mochajs.org/api/mocha#slow
method timeout
timeout: (timeout: string | number) => this;
Set the timeout in milliseconds.
See Also
https://mochajs.org/api/mocha#timeout
method ui
ui: { (name: Mocha.Interface): this; (name?: string): this };
Set test UI to one of the built-in test interfaces.
See Also
https://mochajs.org/api/mocha#ui
Set test UI to one of the built-in test interfaces or loads a test interface from a module path. Defaults to
"bdd"
.See Also
https://mochajs.org/api/mocha#ui
method unloadFiles
unloadFiles: () => this;
Unloads
files
from Node'srequire
cache.This allows required files to be "freshly" reloaded, providing the ability to reuse a Mocha instance programmatically. Note: does not clear ESM module files from the cache
class Runnable
class Runnable {}
Initialize a new
Runnable
with the giventitle
and callbackfn
.See Also
https://mochajs.org/api/Runnable.html
constructor
constructor(title: string, fn?: Func | AsyncFunc);
property allowUncaught
allowUncaught?: boolean;
property async
async: boolean;
property body
body: string;
property callback
callback?: Done;
property ctx
ctx?: Context;
property duration
duration?: number;
property file
file?: string;
property fn
fn: Func | AsyncFunc;
property parent
parent?: Suite;
property pending
pending: boolean;
property state
state?: 'failed' | 'passed';
property sync
sync: boolean;
property timedOut
timedOut: boolean;
property timer
timer?: any;
property title
title: string;
method clearTimeout
clearTimeout: () => void;
Clear the timeout.
See Also
https://mochajs.org/api/Runnable.html#clearTimeout
method currentRetry
protected currentRetry: { (): number; (n: number): void };
Set or get current retry
See Also
https://mochajs.org/api/Runnable.html#currentRetry
method fullTitle
fullTitle: () => string;
Return the full title generated by recursively concatenating the parent's full title.
method globals
globals: { (): string[]; (globals: readonly string[]): void };
Get a list of whitelisted globals for this test run.
See Also
https://mochajs.org/api/Runnable.html#globals
Set a list of whitelisted globals for this test run.
See Also
https://mochajs.org/api/Runnable.html#globals
method inspect
inspect: () => string;
Inspect the runnable void of private properties.
See Also
https://mochajs.org/api/Runnable.html#inspect
method isFailed
isFailed: () => boolean;
Return
true
if this Runnable has failed.
method isPassed
isPassed: () => boolean;
Return
true
if this Runnable has passed.
method isPending
isPending: () => boolean;
Check if this runnable or its parent suite is marked as pending.
See Also
https://mochajs.org/api/Runnable.html#isPending
method resetTimeout
resetTimeout: () => void;
Reset the timeout.
See Also
https://mochajs.org/api/Runnable.html#resetTimeout
method retries
retries: { (): number; (n: number): void };
Set or get number of retries.
See Also
https://mochajs.org/api/Runnable.html#retries
method run
run: (fn: Done) => void;
Run the test and invoke
fn(err)
.See Also
https://mochajs.org/api/Runnable.html#run
method skip
skip: () => never;
Halt and mark as pending.
method slow
slow: { (): number; (ms: string | number): this };
Get test slowness threshold.
See Also
https://mochajs.org/api/Runnable.html#slow
Set test slowness threshold.
See Also
https://mochajs.org/api/Runnable.html#slow
method timeout
timeout: { (): number; (ms: string | number): this };
Get test timeout.
See Also
https://mochajs.org/api/Runnable.html#timeout
Set test timeout.
See Also
https://mochajs.org/api/Runnable.html#timeout
method titlePath
titlePath: () => string[];
Return the title path generated by concatenating the parent's title path with the title.
class Runner
class Runner {}
Initialize a
Runner
for the givensuite
.See Also
https://mochajs.org/api/Mocha.Runner.html
constructor
constructor(suite: Suite, delay: boolean);
property allowUncaught
allowUncaught?: boolean;
property asyncOnly
asyncOnly?: boolean;
property checkLeaks
checkLeaks?: boolean;
property constants
static readonly constants: RunnerConstants;
property currentRunnable
currentRunnable?: Runnable;
property failures
failures: number;
property forbidOnly
forbidOnly?: boolean;
property forbidPending
forbidPending?: boolean;
property fullStackTrace
fullStackTrace?: boolean;
property started
started: boolean;
property stats
stats?: Stats;
property suite
suite: Suite;
property test
test?: Test;
property total
total: number;
method abort
abort: () => this;
Cleanly abort execution.
See Also
https://mochajs.org/api/Mocha.Runner.html#.Runner#abort
method checkGlobals
protected checkGlobals: (test: Test) => void;
Check for global variable leaks.
See Also
https://mochajs.org/api/Mocha.Runner.html#checkGlobals
method fail
protected fail: (test: Test, err: any) => void;
Fail the given
test
.See Also
https://mochajs.org/api/Mocha.Runner.html#fail
method failHook
protected failHook: (hook: Hook, err: any) => void;
Fail the given
hook
witherr
.Hook failures work in the following pattern: - If bail, then exit - Failed
before
hook skips all tests in a suite and subsuites, but jumps to correspondingafter
hook - Failedbefore each
hook skips remaining tests in a suite and jumps to correspondingafter each
hook, which is run only once - Failedafter
hook does not alter execution order - Failedafter each
hook skips remaining tests in a suite and subsuites, but executes otherafter each
hooksSee Also
https://mochajs.org/api/Mocha.Runner.html#failHook
method globalProps
protected globalProps: () => string[];
Return a list of global properties.
See Also
https://mochajs.org/api/Mocha.Runner.html#globalProps
method globals
globals: { (): string[]; (arr: readonly string[]): this };
Gets the allowed globals.
See Also
https://mochajs.org/api/Mocha.Runner.html#.Runner#globals
Allow the given
arr
of globals.See Also
https://mochajs.org/api/Mocha.Runner.html#.Runner#globals
method grep
grep: (re: RegExp, invert: boolean) => this;
Run tests with full titles matching
re
. Updates runner.total with number of tests matched.See Also
https://mochajs.org/api/Mocha.Runner.html#.Runner#grep
method grepTotal
grepTotal: (suite: Suite) => number;
Returns the number of tests matching the grep search for the given suite.
See Also
https://mochajs.org/api/Mocha.Runner.html#.Runner#grepTotal
method hook
protected hook: (name: string, fn: () => void) => void;
Run hook
name
callbacks and then invokefn()
.See Also
https://mochajs.org/api/Mocha.Runner.html#hook
method hookDown
protected hookDown: ( name: string, fn: (err?: any, errSuite?: Suite) => void) => void;
Run hooks from the bottom up.
See Also
https://mochajs.org/api/Mocha.Runner.html#hookDown
method hooks
protected hooks: ( name: string, suites: Suite[], fn: (err?: any, errSuite?: Suite) => void) => void;
Run hook
name
for the given array ofsuites
in order, and callbackfn(err, errSuite)
.See Also
https://mochajs.org/api/Mocha.Runner.html#hooks
method hookUp
protected hookUp: ( name: string, fn: (err?: any, errSuite?: Suite) => void) => void;
Run hooks from the top level down.
See Also
https://mochajs.org/api/Mocha.Runner.html#hookUp
method immediately
protected static immediately: (callback: Function) => void;
Wrapper for setImmediate, process.nextTick, or browser polyfill.
method parents
protected parents: () => Suite[];
Return an array of parent Suites from closest to furthest.
See Also
https://mochajs.org/api/Mocha.Runner.html#parents
method run
run: (fn?: (failures: number) => void) => this;
Run the root suite and invoke
fn(failures)
on completion.See Also
https://mochajs.org/api/Mocha.Runner.html#.Runner#run
method runSuite
protected runSuite: (suite: Suite, fn: (errSuite?: Suite) => void) => void;
Run the given
suite
and invoke the callbackfn()
when complete.See Also
https://mochajs.org/api/Mocha.Runner.html#runSuite
method runTest
protected runTest: (fn: Done) => any;
Run the current test and callback
fn(err)
.See Also
https://mochajs.org/api/Mocha.Runner.html#runTest
method runTests
protected runTests: (suite: Suite, fn: (errSuite?: Suite) => void) => void;
Run tests in the given
suite
and invoke the callbackfn()
when complete.See Also
https://mochajs.org/api/Mocha.Runner.html#runTests
method uncaught
uncaught: (err: any) => void;
Handle uncaught exceptions.
See Also
https://mochajs.org/api/Mocha.Runner.html#uncaught
class Suite
class Suite {}
Initialize a new
Suite
with the giventitle
andctx
.See Also
https://mochajs.org/api/Mocha.Suite.html
constructor
constructor(title: string, parentContext?: Context);
property constants
static readonly constants: SuiteConstants;
property ctx
ctx: Context;
property delayed
delayed: boolean;
property file
file?: string;
property parent
parent: Suite;
property pending
pending: boolean;
property root
root: boolean;
property suites
suites: Suite[];
property tests
tests: Test[];
property title
title: string;
method addSuite
addSuite: (suite: Suite) => this;
Add a test
suite
.See Also
https://mochajs.org/api/Mocha.Suite.html#addSuite
method addTest
addTest: (test: Test) => this;
Add a
test
to this suite.See Also
https://mochajs.org/api/Mocha.Suite.html#addTest
method afterAll
afterAll: { (fn?: Func): this; (fn?: AsyncFunc): this; (title: string, fn?: Func): this; (title: string, fn?: AsyncFunc): this;};
Run
fn(test[, done])
after running tests.See Also
https://mochajs.org/api/Mocha.Suite.html#afterAll
method afterEach
afterEach: { (fn?: Func): this; (fn?: AsyncFunc): this; (title: string, fn?: Func): this; (title: string, fn?: AsyncFunc): this;};
Run
fn(test[, done])
after each test case.See Also
https://mochajs.org/api/Mocha.Suite.html#afterEach
method bail
bail: { (): boolean; (bail: boolean): this };
Get whether to bail after first error.
See Also
https://mochajs.org/api/Mocha.Suite.html#bail
Set whether to bail after first error.
See Also
https://mochajs.org/api/Mocha.Suite.html#bail
method beforeAll
beforeAll: { (fn?: Func): this; (fn?: AsyncFunc): this; (title: string, fn?: Func): this; (title: string, fn?: AsyncFunc): this;};
Run
fn(test[, done])
before running tests.See Also
https://mochajs.org/api/Mocha.Suite.html#beforeAll
method beforeEach
beforeEach: { (fn?: Func): this; (fn?: AsyncFunc): this; (title: string, fn?: Func): this; (title: string, fn?: AsyncFunc): this;};
Run
fn(test[, done])
before each test case.See Also
https://mochajs.org/api/Mocha.Suite.html#beforeEach
method clone
clone: () => Suite;
Return a clone of this
Suite
.See Also
https://mochajs.org/api/Mocha.Suite.html#clone
method create
static create: (parent: Suite, title: string) => Suite;
Create a new
Suite
with the giventitle
and parentSuite
. When a suite with the same title is already present, that suite is returned to provide nicer reporter and more flexible meta-testing.See Also
https://mochajs.org/api/mocha#.exports.create
method eachTest
eachTest: (fn: (test: Test) => void) => this;
Iterates through each suite recursively to find all tests. Applies a function in the format
fn(test)
.See Also
https://mochajs.org/api/Mocha.Suite.html#eachTest
method fullTitle
fullTitle: () => string;
Return the full title generated by recursively concatenating the parent's full title.
See Also
https://mochajs.org/api/Mocha.Suite.html#.Suite#fullTitle
method isPending
isPending: () => boolean;
Check if this suite or its parent suite is marked as pending.
See Also
https://mochajs.org/api/Mocha.Suite.html#isPending
method retries
retries: { (): number; (n: string | number): this };
Get number of times to retry a failed test.
See Also
https://mochajs.org/api/Mocha.Suite.html#retries
Set number of times to retry a failed test.
See Also
https://mochajs.org/api/Mocha.Suite.html#retries
method run
run: () => void;
This will run the root suite if we happen to be running in delayed mode.
See Also
https://mochajs.org/api/Mocha.Suite.html#run
method slow
slow: { (): number; (ms: string | number): this };
Get slow
ms
.See Also
https://mochajs.org/api/Mocha.Suite.html#slow
Set slow
ms
or short-hand such as "2s".See Also
https://mochajs.org/api/Mocha.Suite.html#slow
method timeout
timeout: { (): number; (ms: string | number): this };
Get timeout
ms
.See Also
https://mochajs.org/api/Mocha.Suite.html#timeout
Set timeout
ms
or short-hand such as "2s".See Also
https://mochajs.org/api/Mocha.Suite.html#timeout
method titlePath
titlePath: () => string[];
Return the title path generated by recursively concatenating the parent's title path.
See Also
https://mochajs.org/api/Mocha.Suite.html#.Suite#titlePath
method total
total: () => number;
Return the total number of tests.
See Also
https://mochajs.org/api/Mocha.Suite.html#.Suite#total
class Test
class Test extends Runnable {}
Initialize a new
Test
with the giventitle
and callbackfn
.See Also
https://mochajs.org/api/Test.html
interface ExclusiveSuiteFunction
interface ExclusiveSuiteFunction {}
call signature
( title: string, config: Cypress.SuiteConfigOverrides, fn: (this: Suite) => void): Suite;
Describe a "suite" with the given
title
, TestOptions, and callbackfn
containing nested suites. Indicates this suite should be executed exclusively.
interface ExclusiveSuiteFunction
interface ExclusiveSuiteFunction {}
call signature
(title: string, fn: (this: Suite) => void): Suite;
[bdd, tdd] Describe a "suite" with the given
title
and callbackfn
containing nested suites. Indicates this suite should be executed exclusively.- _Only available when invoked via the mocha CLI._
call signature
(title: string): Suite;
[qunit] Describe a "suite" with the given
title
. Indicates this suite should be executed exclusively.- _Only available when invoked via the mocha CLI._
interface ExclusiveTestFunction
interface ExclusiveTestFunction {}
call signature
(title: string, config: Cypress.TestConfigOverrides, fn?: Func): Test;
Describe a specification or test-case with the given
title
, TestOptions, and callbackfn
acting as a thunk.
call signature
(title: string, config: Cypress.TestConfigOverrides, fn?: AsyncFunc): Test;
Describe a specification or test-case with the given
title
, TestOptions, and callbackfn
acting as a thunk.
interface ExclusiveTestFunction
interface ExclusiveTestFunction {}
call signature
(fn: Func): Test;
[bdd, tdd, qunit] Describe a specification or test-case with the given callback
fn
acting as a thunk. The name of the function is used as the name of the test. Indicates this test should be executed exclusively.- _Only available when invoked via the mocha CLI._
call signature
(fn: AsyncFunc): Test;
[bdd, tdd, qunit] Describe a specification or test-case with the given callback
fn
acting as a thunk. The name of the function is used as the name of the test. Indicates this test should be executed exclusively.- _Only available when invoked via the mocha CLI._
call signature
(title: string, fn?: Func): Test;
[bdd, tdd, qunit] Describe a specification or test-case with the given
title
and callbackfn
acting as a thunk. Indicates this test should be executed exclusively.- _Only available when invoked via the mocha CLI._
call signature
(title: string, fn?: AsyncFunc): Test;
[bdd, tdd, qunit] Describe a specification or test-case with the given
title
and callbackfn
acting as a thunk. Indicates this test should be executed exclusively.- _Only available when invoked via the mocha CLI._
interface HookFunction
interface HookFunction {}
call signature
(fn: Func): void;
[bdd, qunit, tdd] Describe a "hook" to execute the given callback
fn
. The name of the function is used as the name of the hook.- _Only available when invoked via the mocha CLI._
call signature
(fn: AsyncFunc): void;
[bdd, qunit, tdd] Describe a "hook" to execute the given callback
fn
. The name of the function is used as the name of the hook.- _Only available when invoked via the mocha CLI._
call signature
(name: string, fn?: Func): void;
[bdd, qunit, tdd] Describe a "hook" to execute the given
title
and callbackfn
.- _Only available when invoked via the mocha CLI._
call signature
(name: string, fn?: AsyncFunc): void;
[bdd, qunit, tdd] Describe a "hook" to execute the given
title
and callbackfn
.- _Only available when invoked via the mocha CLI._
interface InterfaceContributions
interface InterfaceContributions {}
Third-party declarations that want to add new entries to the
Interface
union can contribute names here.
interface MochaGlobals
interface MochaGlobals {}
Variables added to the global scope by Mocha when run in the CLI.
property after
after: HookFunction;
Execute after running tests.
- _Only available when invoked via the mocha CLI._
See Also
https://mochajs.org/api/global.html#after
property afterEach
afterEach: HookFunction;
Execute after each test case.
- _Only available when invoked via the mocha CLI._
See Also
https://mochajs.org/api/global.html#afterEach
property before
before: HookFunction;
Execute before running tests.
- _Only available when invoked via the mocha CLI._
See Also
https://mochajs.org/api/global.html#before
property beforeEach
beforeEach: HookFunction;
Execute before each test case.
- _Only available when invoked via the mocha CLI._
See Also
https://mochajs.org/api/global.html#beforeEach
property context
context: SuiteFunction;
Describe a "suite" containing nested suites and tests.
- _Only available when invoked via the mocha CLI._
property describe
describe: SuiteFunction;
Describe a "suite" containing nested suites and tests.
- _Only available when invoked via the mocha CLI._
property it
it: TestFunction;
Describes a test case.
- _Only available when invoked via the mocha CLI._
property run
run: typeof run;
property setup
setup: HookFunction;
Execute before each test case.
- _Only available when invoked via the mocha CLI._
See Also
https://mochajs.org/api/global.html#beforeEach
property specify
specify: TestFunction;
Describes a test case.
- _Only available when invoked via the mocha CLI._
property suite
suite: SuiteFunction;
Describe a "suite" containing nested suites and tests.
- _Only available when invoked via the mocha CLI._
property suiteSetup
suiteSetup: HookFunction;
Execute before running tests.
- _Only available when invoked via the mocha CLI._
See Also
https://mochajs.org/api/global.html#before
property suiteTeardown
suiteTeardown: HookFunction;
Execute after running tests.
- _Only available when invoked via the mocha CLI._
See Also
https://mochajs.org/api/global.html#after
property teardown
teardown: HookFunction;
Execute after each test case.
- _Only available when invoked via the mocha CLI._
See Also
https://mochajs.org/api/global.html#afterEach
property test
test: TestFunction;
Describes a test case.
- _Only available when invoked via the mocha CLI._
property xcontext
xcontext: PendingSuiteFunction;
Pending suite.
- _Only available when invoked via the mocha CLI._
property xdescribe
xdescribe: PendingSuiteFunction;
Pending suite.
- _Only available when invoked via the mocha CLI._
property xit
xit: PendingTestFunction;
Describes a pending test case.
- _Only available when invoked via the mocha CLI._
property xspecify
xspecify: PendingTestFunction;
Describes a pending test case.
- _Only available when invoked via the mocha CLI._
interface MochaInstanceOptions
interface MochaInstanceOptions extends MochaOptions {}
property files
files?: string[];
interface MochaOptions
interface MochaOptions {}
Options to pass to Mocha.
property allowUncaught
allowUncaught?: boolean;
property asyncOnly
asyncOnly?: boolean;
property bail
bail?: boolean;
bail on the first test failure.
property checkLeaks
checkLeaks?: boolean;
check for global variable leaks.
property color
color?: boolean;
Color TTY output from reporter
property delay
delay?: boolean;
property forbidOnly
forbidOnly?: boolean;
property forbidPending
forbidPending?: boolean;
property fullStackTrace
fullStackTrace?: boolean;
display the full stack trace on failure.
property fullTrace
fullTrace?: boolean;
property globals
globals?: string[];
Array of accepted globals.
property grep
grep?: string | RegExp;
string or regexp to filter tests with.
property growl
growl?: boolean;
Enable growl support.
property hideDiff
hideDiff?: boolean;
Do not show diffs at all.
property inlineDiffs
inlineDiffs?: boolean;
Use inline diffs rather than +/-.
property jobs
jobs?: number;
Max number of worker processes for parallel runs
property noHighlighting
noHighlighting?: boolean;
property parallel
parallel?: boolean;
Run job in parallel
property reporter
reporter?: string | ReporterConstructor;
Reporter constructor, built-in reporter name, or reporter module path. Defaults to
"spec"
.
property reporterOptions
reporterOptions?: any;
Options to pass to the reporter.
property retries
retries?: number;
number of times to retry failed tests.
property rootHooks
rootHooks?: RootHookObject;
Assigns hooks to the root suite
property slow
slow?: number;
milliseconds to wait before considering a test slow.
property timeout
timeout?: number | string;
timeout in milliseconds or time string like '1s'.
property ui
ui?: Interface;
Test interfaces ("bdd", "tdd", "exports", etc.).
interface PendingSuiteFunction
interface PendingSuiteFunction {}
call signature
( title: string, config: Cypress.SuiteConfigOverrides, fn: (this: Suite) => void): Suite | void;
interface PendingSuiteFunction
interface PendingSuiteFunction {}
[bdd, tdd] Describe a "suite" with the given
title
and callbackfn
containing nested suites. Indicates this suite should not be executed.- _Only available when invoked via the mocha CLI._
Returns
[tdd]
void
call signature
(title: string, fn: (this: Suite) => void): Suite | void;
interface PendingTestFunction
interface PendingTestFunction {}
call signature
(title: string, config: Cypress.TestConfigOverrides, fn?: Func): Test;
Describe a specification or test-case with the given
title
, TestOptions, and callbackfn
acting as a thunk.
call signature
(title: string, config: Cypress.TestConfigOverrides, fn?: AsyncFunc): Test;
Describe a specification or test-case with the given
title
, TestOptions, and callbackfn
acting as a thunk.
interface PendingTestFunction
interface PendingTestFunction {}
call signature
(fn: Func): Test;
[bdd, tdd, qunit] Describe a specification or test-case with the given callback
fn
acting as a thunk. The name of the function is used as the name of the test. Indicates this test should not be executed.- _Only available when invoked via the mocha CLI._
call signature
(fn: AsyncFunc): Test;
[bdd, tdd, qunit] Describe a specification or test-case with the given callback
fn
acting as a thunk. The name of the function is used as the name of the test. Indicates this test should not be executed.- _Only available when invoked via the mocha CLI._
call signature
(title: string, fn?: Func): Test;
[bdd, tdd, qunit] Describe a specification or test-case with the given
title
and callbackfn
acting as a thunk. Indicates this test should not be executed.- _Only available when invoked via the mocha CLI._
call signature
(title: string, fn?: AsyncFunc): Test;
[bdd, tdd, qunit] Describe a specification or test-case with the given
title
and callbackfn
acting as a thunk. Indicates this test should not be executed.- _Only available when invoked via the mocha CLI._
interface ReporterConstructor
interface ReporterConstructor {}
construct signature
new (runner: Runner, options: MochaOptions): reporters.Base;
interface ReporterContributions
interface ReporterContributions {}
Third-party declarations that want to add new entries to the
Reporter
union can contribute names here.
property "json-stream"
'json-stream': never;
property base
base: never;
property Base
Base: never;
property dot
dot: never;
property Dot
Dot: never;
property html
html: never;
property HTML
HTML: never;
property json
json: never;
property JSON
JSON: never;
property JSONStream
JSONStream: never;
property landing
landing: never;
property Landing
Landing: never;
property list
list: never;
property List
List: never;
property markdown
markdown: never;
property Markdown
Markdown: never;
property min
min: never;
property Min
Min: never;
property nyan
nyan: never;
property Nyan
Nyan: never;
property progress
progress: never;
property Progress
Progress: never;
property spec
spec: never;
property Spec
Spec: never;
property tap
tap: never;
property TAP
TAP: never;
property xunit
xunit: never;
property XUnit
XUnit: never;
interface RootHookObject
interface RootHookObject {}
An alternative way to define root hooks that works with parallel runs.
Root hooks work with any interface, but the property names do not change. In other words, if you are using the tdd interface, suiteSetup maps to beforeAll, and setup maps to beforeEach.
As with other hooks,
this
refers to to the current context object.See Also
https://mochajs.org/#root-hook-plugins
property afterAll
afterAll?: Func | AsyncFunc | Func[] | AsyncFunc[];
In serial mode, run after all tests end, once only. In parallel mode, run after all tests end, for each file.
property afterEach
afterEach?: Func | AsyncFunc | Func[] | AsyncFunc[];
In both modes, run after every test.
property beforeAll
beforeAll?: Func | AsyncFunc | Func[] | AsyncFunc[];
In serial mode (Mocha's default), before all tests begin, once only. In parallel mode, run before all tests begin, for each file.
property beforeEach
beforeEach?: Func | AsyncFunc | Func[] | AsyncFunc[];
In both modes, run before each test.
interface Runnable
interface Runnable extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'error', listener: (error: any) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'error', error: any): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'error', listener: (error: any) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'error', listener: (error: any) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'error', listener: (error: any) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'error', listener: (error: any) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'error', listener: (error: any) => void): this; (event: string, listener: (...args: any[]) => void): this;};
interface Runnable
interface Runnable extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'error', listener: (error: any) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'error', error: any): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'error', listener: (error: any) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'error', listener: (error: any) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'error', listener: (error: any) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'error', listener: (error: any) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'error', listener: (error: any) => void): this; (event: string, listener: (...args: any[]) => void): this;};
interface Runner
interface Runner {}
method addListener
addListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'waiting', rootSuite: Suite): boolean; (name: 'start'): boolean; (name: 'end'): boolean; (name: 'suite', suite: Suite): boolean; (name: 'suite end', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'test end', test: Test): boolean; (name: 'hook', hook: Hook): boolean; (name: 'hook end', hook: Hook): boolean; (name: 'pass', test: Test): boolean; (name: 'fail', test: Test, err: any): boolean; (name: 'pending', test: Test): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
interface Runner
interface Runner extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'waiting', rootSuite: Suite): boolean; (name: 'start'): boolean; (name: 'end'): boolean; (name: 'suite', suite: Suite): boolean; (name: 'suite end', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'test end', test: Test): boolean; (name: 'hook', hook: Hook): boolean; (name: 'hook end', hook: Hook): boolean; (name: 'pass', test: Test): boolean; (name: 'fail', test: Test, err: any): boolean; (name: 'pending', test: Test): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
interface Runner
interface Runner extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'waiting', rootSuite: Suite): boolean; (name: 'start'): boolean; (name: 'end'): boolean; (name: 'suite', suite: Suite): boolean; (name: 'suite end', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'test end', test: Test): boolean; (name: 'hook', hook: Hook): boolean; (name: 'hook end', hook: Hook): boolean; (name: 'pass', test: Test): boolean; (name: 'fail', test: Test, err: any): boolean; (name: 'pending', test: Test): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
interface Runner
interface Runner extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'waiting', rootSuite: Suite): boolean; (name: 'start'): boolean; (name: 'end'): boolean; (name: 'suite', suite: Suite): boolean; (name: 'suite end', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'test end', test: Test): boolean; (name: 'hook', hook: Hook): boolean; (name: 'hook end', hook: Hook): boolean; (name: 'pass', test: Test): boolean; (name: 'fail', test: Test, err: any): boolean; (name: 'pending', test: Test): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
interface Runner
interface Runner extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'waiting', rootSuite: Suite): boolean; (name: 'start'): boolean; (name: 'end'): boolean; (name: 'suite', suite: Suite): boolean; (name: 'suite end', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'test end', test: Test): boolean; (name: 'hook', hook: Hook): boolean; (name: 'hook end', hook: Hook): boolean; (name: 'pass', test: Test): boolean; (name: 'fail', test: Test, err: any): boolean; (name: 'pending', test: Test): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
interface Runner
interface Runner extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'waiting', rootSuite: Suite): boolean; (name: 'start'): boolean; (name: 'end'): boolean; (name: 'suite', suite: Suite): boolean; (name: 'suite end', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'test end', test: Test): boolean; (name: 'hook', hook: Hook): boolean; (name: 'hook end', hook: Hook): boolean; (name: 'pass', test: Test): boolean; (name: 'fail', test: Test, err: any): boolean; (name: 'pending', test: Test): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
interface Runner
interface Runner extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'waiting', rootSuite: Suite): boolean; (name: 'start'): boolean; (name: 'end'): boolean; (name: 'suite', suite: Suite): boolean; (name: 'suite end', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'test end', test: Test): boolean; (name: 'hook', hook: Hook): boolean; (name: 'hook end', hook: Hook): boolean; (name: 'pass', test: Test): boolean; (name: 'fail', test: Test, err: any): boolean; (name: 'pending', test: Test): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
interface Runner
interface Runner extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'waiting', rootSuite: Suite): boolean; (name: 'start'): boolean; (name: 'end'): boolean; (name: 'suite', suite: Suite): boolean; (name: 'suite end', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'test end', test: Test): boolean; (name: 'hook', hook: Hook): boolean; (name: 'hook end', hook: Hook): boolean; (name: 'pass', test: Test): boolean; (name: 'fail', test: Test, err: any): boolean; (name: 'pending', test: Test): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
interface Runner
interface Runner extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'waiting', rootSuite: Suite): boolean; (name: 'start'): boolean; (name: 'end'): boolean; (name: 'suite', suite: Suite): boolean; (name: 'suite end', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'test end', test: Test): boolean; (name: 'hook', hook: Hook): boolean; (name: 'hook end', hook: Hook): boolean; (name: 'pass', test: Test): boolean; (name: 'fail', test: Test, err: any): boolean; (name: 'pending', test: Test): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
interface Runner
interface Runner extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'waiting', rootSuite: Suite): boolean; (name: 'start'): boolean; (name: 'end'): boolean; (name: 'suite', suite: Suite): boolean; (name: 'suite end', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'test end', test: Test): boolean; (name: 'hook', hook: Hook): boolean; (name: 'hook end', hook: Hook): boolean; (name: 'pass', test: Test): boolean; (name: 'fail', test: Test, err: any): boolean; (name: 'pending', test: Test): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
interface Runner
interface Runner extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'waiting', rootSuite: Suite): boolean; (name: 'start'): boolean; (name: 'end'): boolean; (name: 'suite', suite: Suite): boolean; (name: 'suite end', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'test end', test: Test): boolean; (name: 'hook', hook: Hook): boolean; (name: 'hook end', hook: Hook): boolean; (name: 'pass', test: Test): boolean; (name: 'fail', test: Test, err: any): boolean; (name: 'pending', test: Test): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
interface Runner
interface Runner extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'waiting', rootSuite: Suite): boolean; (name: 'start'): boolean; (name: 'end'): boolean; (name: 'suite', suite: Suite): boolean; (name: 'suite end', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'test end', test: Test): boolean; (name: 'hook', hook: Hook): boolean; (name: 'hook end', hook: Hook): boolean; (name: 'pass', test: Test): boolean; (name: 'fail', test: Test, err: any): boolean; (name: 'pending', test: Test): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
interface Runner
interface Runner extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'waiting', rootSuite: Suite): boolean; (name: 'start'): boolean; (name: 'end'): boolean; (name: 'suite', suite: Suite): boolean; (name: 'suite end', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'test end', test: Test): boolean; (name: 'hook', hook: Hook): boolean; (name: 'hook end', hook: Hook): boolean; (name: 'pass', test: Test): boolean; (name: 'fail', test: Test, err: any): boolean; (name: 'pending', test: Test): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'waiting', listener: (rootSuite: Suite) => void): this; (event: 'start', listener: () => void): this; (event: 'end', listener: () => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'suite end', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'test end', listener: (test: Test) => void): this; (event: 'hook', listener: (hook: Hook) => void): this; (event: 'hook end', listener: (hook: Hook) => void): this; (event: 'pass', listener: (test: Test) => void): this; (event: 'fail', listener: (test: Test, err: any) => void): this; (event: 'pending', listener: (test: Test) => void): this; (event: string, listener: (...args: any[]) => void): this;};
interface RunnerConstants
interface RunnerConstants {}
property EVENT_DELAY_BEGIN
readonly EVENT_DELAY_BEGIN: 'waiting';
property EVENT_DELAY_END
readonly EVENT_DELAY_END: 'ready';
property EVENT_HOOK_BEGIN
readonly EVENT_HOOK_BEGIN: 'hook';
property EVENT_HOOK_END
readonly EVENT_HOOK_END: 'hook end';
property EVENT_RUN_BEGIN
readonly EVENT_RUN_BEGIN: 'start';
property EVENT_RUN_END
readonly EVENT_RUN_END: 'end';
property EVENT_SUITE_BEGIN
readonly EVENT_SUITE_BEGIN: 'suite';
property EVENT_SUITE_END
readonly EVENT_SUITE_END: 'suite end';
property EVENT_TEST_BEGIN
readonly EVENT_TEST_BEGIN: 'test';
property EVENT_TEST_END
readonly EVENT_TEST_END: 'test end';
property EVENT_TEST_FAIL
readonly EVENT_TEST_FAIL: 'fail';
property EVENT_TEST_PASS
readonly EVENT_TEST_PASS: 'pass';
property EVENT_TEST_PENDING
readonly EVENT_TEST_PENDING: 'pending';
property EVENT_TEST_RETRY
readonly EVENT_TEST_RETRY: 'retry';
interface Stats
interface Stats {}
Test statistics
interface Suite
interface Suite extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'beforeAll', hook: Hook): boolean; (name: 'afterAll', hook: Hook): boolean; (name: 'beforeEach', hook: Hook): boolean; (name: 'afterEach', hook: Hook): boolean; (name: 'suite', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'run'): boolean; ( name: 'pre-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: 'require', module: any, file: string, mocha: Mocha): boolean; ( name: 'post-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
interface Suite
interface Suite extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'beforeAll', hook: Hook): boolean; (name: 'afterAll', hook: Hook): boolean; (name: 'beforeEach', hook: Hook): boolean; (name: 'afterEach', hook: Hook): boolean; (name: 'suite', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'run'): boolean; ( name: 'pre-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: 'require', module: any, file: string, mocha: Mocha): boolean; ( name: 'post-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
interface Suite
interface Suite extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'beforeAll', hook: Hook): boolean; (name: 'afterAll', hook: Hook): boolean; (name: 'beforeEach', hook: Hook): boolean; (name: 'afterEach', hook: Hook): boolean; (name: 'suite', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'run'): boolean; ( name: 'pre-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: 'require', module: any, file: string, mocha: Mocha): boolean; ( name: 'post-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
interface Suite
interface Suite extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'beforeAll', hook: Hook): boolean; (name: 'afterAll', hook: Hook): boolean; (name: 'beforeEach', hook: Hook): boolean; (name: 'afterEach', hook: Hook): boolean; (name: 'suite', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'run'): boolean; ( name: 'pre-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: 'require', module: any, file: string, mocha: Mocha): boolean; ( name: 'post-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
interface Suite
interface Suite extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'beforeAll', hook: Hook): boolean; (name: 'afterAll', hook: Hook): boolean; (name: 'beforeEach', hook: Hook): boolean; (name: 'afterEach', hook: Hook): boolean; (name: 'suite', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'run'): boolean; ( name: 'pre-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: 'require', module: any, file: string, mocha: Mocha): boolean; ( name: 'post-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
interface Suite
interface Suite {}
method addListener
addListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'beforeAll', hook: Hook): boolean; (name: 'afterAll', hook: Hook): boolean; (name: 'beforeEach', hook: Hook): boolean; (name: 'afterEach', hook: Hook): boolean; (name: 'suite', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'run'): boolean; ( name: 'pre-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: 'require', module: any, file: string, mocha: Mocha): boolean; ( name: 'post-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
interface Suite
interface Suite extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'beforeAll', hook: Hook): boolean; (name: 'afterAll', hook: Hook): boolean; (name: 'beforeEach', hook: Hook): boolean; (name: 'afterEach', hook: Hook): boolean; (name: 'suite', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'run'): boolean; ( name: 'pre-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: 'require', module: any, file: string, mocha: Mocha): boolean; ( name: 'post-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
interface Suite
interface Suite extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'beforeAll', hook: Hook): boolean; (name: 'afterAll', hook: Hook): boolean; (name: 'beforeEach', hook: Hook): boolean; (name: 'afterEach', hook: Hook): boolean; (name: 'suite', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'run'): boolean; ( name: 'pre-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: 'require', module: any, file: string, mocha: Mocha): boolean; ( name: 'post-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
interface Suite
interface Suite extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'beforeAll', hook: Hook): boolean; (name: 'afterAll', hook: Hook): boolean; (name: 'beforeEach', hook: Hook): boolean; (name: 'afterEach', hook: Hook): boolean; (name: 'suite', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'run'): boolean; ( name: 'pre-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: 'require', module: any, file: string, mocha: Mocha): boolean; ( name: 'post-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
interface Suite
interface Suite extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'beforeAll', hook: Hook): boolean; (name: 'afterAll', hook: Hook): boolean; (name: 'beforeEach', hook: Hook): boolean; (name: 'afterEach', hook: Hook): boolean; (name: 'suite', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'run'): boolean; ( name: 'pre-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: 'require', module: any, file: string, mocha: Mocha): boolean; ( name: 'post-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
interface Suite
interface Suite extends NodeJS.EventEmitter {}
method addListener
addListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method emit
emit: { (name: 'beforeAll', hook: Hook): boolean; (name: 'afterAll', hook: Hook): boolean; (name: 'beforeEach', hook: Hook): boolean; (name: 'afterEach', hook: Hook): boolean; (name: 'suite', suite: Suite): boolean; (name: 'test', test: Test): boolean; (name: 'run'): boolean; ( name: 'pre-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: 'require', module: any, file: string, mocha: Mocha): boolean; ( name: 'post-require', context: MochaGlobals, file: string, mocha: Mocha ): boolean; (name: string, ...args: any[]): boolean;};
method on
on: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method once
once: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependListener
prependListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method prependOnceListener
prependOnceListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
method removeListener
removeListener: { (event: 'beforeAll', listener: (hook: Hook) => void): this; (event: 'afterAll', listener: (hook: Hook) => void): this; (event: 'beforeEach', listener: (hook: Hook) => void): this; (event: 'afterEach', listener: (hook: Hook) => void): this; (event: 'suite', listener: (suite: Suite) => void): this; (event: 'test', listener: (test: Test) => void): this; (event: 'run', listener: () => void): this; ( event: 'pre-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; ( event: 'require', listener: (module: any, file: string, mocha: Mocha) => void ): this; ( event: 'post-require', listener: (context: MochaGlobals, file: string, mocha: Mocha) => void ): this; (event: string, listener: (...args: any[]) => void): this;};
interface SuiteConstants
interface SuiteConstants {}
property EVENT_FILE_POST_REQUIRE
readonly EVENT_FILE_POST_REQUIRE: 'post-require';
property EVENT_FILE_PRE_REQUIRE
readonly EVENT_FILE_PRE_REQUIRE: 'pre-require';
property EVENT_FILE_REQUIRE
readonly EVENT_FILE_REQUIRE: 'require';
property EVENT_ROOT_SUITE_RUN
readonly EVENT_ROOT_SUITE_RUN: 'run';
property EVENT_SUITE_ADD_HOOK_AFTER_ALL
readonly EVENT_SUITE_ADD_HOOK_AFTER_ALL: 'afterAll';
property EVENT_SUITE_ADD_HOOK_AFTER_EACH
readonly EVENT_SUITE_ADD_HOOK_AFTER_EACH: 'afterEach';
property EVENT_SUITE_ADD_HOOK_BEFORE_ALL
readonly EVENT_SUITE_ADD_HOOK_BEFORE_ALL: 'beforeAll';
property EVENT_SUITE_ADD_HOOK_BEFORE_EACH
readonly EVENT_SUITE_ADD_HOOK_BEFORE_EACH: 'beforeEach';
property EVENT_SUITE_ADD_SUITE
readonly EVENT_SUITE_ADD_SUITE: 'suite';
property EVENT_SUITE_ADD_TEST
readonly EVENT_SUITE_ADD_TEST: 'test';
property HOOK_TYPE_AFTER_ALL
readonly HOOK_TYPE_AFTER_ALL: 'afterAll';
property HOOK_TYPE_AFTER_EACH
readonly HOOK_TYPE_AFTER_EACH: 'afterEach';
property HOOK_TYPE_BEFORE_ALL
readonly HOOK_TYPE_BEFORE_ALL: 'beforeAll';
property HOOK_TYPE_BEFORE_EACH
readonly HOOK_TYPE_BEFORE_EACH: 'beforeEach';
interface SuiteFunction
interface SuiteFunction {}
call signature
( title: string, config: Cypress.SuiteConfigOverrides, fn: (this: Suite) => void): Suite;
Describe a "suite" with the given
title
, TestOptions, and callbackfn
containing nested suites.
interface SuiteFunction
interface SuiteFunction {}
property only
only: ExclusiveSuiteFunction;
[bdd, tdd, qunit] Indicates this suite should be executed exclusively.
- _Only available when invoked via the mocha CLI._
property skip
skip: PendingSuiteFunction;
[bdd, tdd] Indicates this suite should not be executed.
- _Only available when invoked via the mocha CLI._
call signature
(title: string, fn: (this: Suite) => void): Suite;
[bdd, tdd] Describe a "suite" with the given
title
and callbackfn
containing nested suites.- _Only available when invoked via the mocha CLI._
call signature
(title: string): Suite;
[qunit] Describe a "suite" with the given
title
.- _Only available when invoked via the mocha CLI._
interface TestFunction
interface TestFunction {}
call signature
(title: string, config: Cypress.TestConfigOverrides, fn?: Func): Test;
Describe a specification or test-case with the given
title
, TestOptions, and callbackfn
acting as a thunk.
call signature
(title: string, config: Cypress.TestConfigOverrides, fn?: AsyncFunc): Test;
Describe a specification or test-case with the given
title
, TestOptions, and callbackfn
acting as a thunk.
interface TestFunction
interface TestFunction {}
property only
only: ExclusiveTestFunction;
Indicates this test should be executed exclusively.
- _Only available when invoked via the mocha CLI._
property skip
skip: PendingTestFunction;
Indicates this test should not be executed.
- _Only available when invoked via the mocha CLI._
method retries
retries: (n: number) => void;
Number of attempts to retry.
- _Only available when invoked via the mocha CLI._
call signature
(fn: Func): Test;
Describe a specification or test-case with the given callback
fn
acting as a thunk. The name of the function is used as the name of the test.- _Only available when invoked via the mocha CLI._
call signature
(fn: AsyncFunc): Test;
Describe a specification or test-case with the given callback
fn
acting as a thunk. The name of the function is used as the name of the test.- _Only available when invoked via the mocha CLI._
call signature
(title: string, fn?: Func): Test;
Describe a specification or test-case with the given
title
and callbackfn
acting as a thunk.- _Only available when invoked via the mocha CLI._
call signature
(title: string, fn?: AsyncFunc): Test;
Describe a specification or test-case with the given
title
and callbackfn
acting as a thunk.- _Only available when invoked via the mocha CLI._
type AsyncFunc
type AsyncFunc = (this: Context) => PromiseLike<any>;
Async callback function used for tests and hooks.
type Done
type Done = (err?: any) => void;
type Func
type Func = (this: Context, done: Done) => void;
Callback function used for tests and hooks.
type Interface
type Interface = keyof InterfaceContributions;
type Reporter
type Reporter = keyof ReporterContributions;
type TestInterface
type TestInterface = (suite: Suite) => void;
namespace Mocha
namespace Mocha {}
interface ExclusiveSuiteFunction
interface ExclusiveSuiteFunction {}
call signature
( title: string, config: Cypress.SuiteConfigOverrides, fn: (this: Suite) => void): Suite;
Describe a "suite" with the given
title
, TestOptions, and callbackfn
containing nested suites. Indicates this suite should be executed exclusively.
interface ExclusiveTestFunction
interface ExclusiveTestFunction {}
call signature
(title: string, config: Cypress.TestConfigOverrides, fn?: Func): Test;
Describe a specification or test-case with the given
title
, TestOptions, and callbackfn
acting as a thunk.
call signature
(title: string, config: Cypress.TestConfigOverrides, fn?: AsyncFunc): Test;
Describe a specification or test-case with the given
title
, TestOptions, and callbackfn
acting as a thunk.
interface PendingSuiteFunction
interface PendingSuiteFunction {}
call signature
( title: string, config: Cypress.SuiteConfigOverrides, fn: (this: Suite) => void): Suite | void;
interface PendingTestFunction
interface PendingTestFunction {}
call signature
(title: string, config: Cypress.TestConfigOverrides, fn?: Func): Test;
Describe a specification or test-case with the given
title
, TestOptions, and callbackfn
acting as a thunk.
call signature
(title: string, config: Cypress.TestConfigOverrides, fn?: AsyncFunc): Test;
Describe a specification or test-case with the given
title
, TestOptions, and callbackfn
acting as a thunk.
interface SuiteFunction
interface SuiteFunction {}
call signature
( title: string, config: Cypress.SuiteConfigOverrides, fn: (this: Suite) => void): Suite;
Describe a "suite" with the given
title
, TestOptions, and callbackfn
containing nested suites.
interface TestFunction
interface TestFunction {}
call signature
(title: string, config: Cypress.TestConfigOverrides, fn?: Func): Test;
Describe a specification or test-case with the given
title
, TestOptions, and callbackfn
acting as a thunk.
call signature
(title: string, config: Cypress.TestConfigOverrides, fn?: AsyncFunc): Test;
Describe a specification or test-case with the given
title
, TestOptions, and callbackfn
acting as a thunk.
namespace mocha.interfaces
namespace mocha.interfaces {}
namespace mocha.reporters
namespace mocha.reporters {}
variable base
const base: typeof Base;
variable doc
const doc: typeof Doc;
variable dot
const dot: typeof Dot;
variable html
const html: typeof HTML;
variable json
const json: typeof JSON;
variable landing
const landing: typeof Landing;
variable list
const list: typeof List;
variable markdown
const markdown: typeof Markdown;
variable nyan
const nyan: typeof Nyan;
variable progress
const progress: typeof Progress;
variable spec
const spec: typeof Spec;
variable tap
const tap: typeof TAP;
variable xunit
const xunit: typeof XUnit;
class Base
class Base {}
Initialize a new
Base
reporter.All other reporters generally inherit from this reporter, providing stats such as test duration, number of tests passed / failed, etc.
See Also
https://mochajs.org/api/Mocha.reporters.Base.html
constructor
constructor(runner: Runner, options?: MochaOptions);
property failures
failures: Test[];
Test failures
property runner
runner: Runner;
The configured runner
property stats
stats: Stats;
Test run statistics
method done
done: (failures: number, fn?: (failures: number) => void) => void;
method epilogue
epilogue: () => void;
Output common epilogue used by many of the bundled reporters.
See Also
https://mochajs.org/api/Mocha.reporters.Base.html#.Base#epilogue
class Doc
class Doc extends Base {}
Initialize a new
Doc
reporter.See Also
https://mochajs.org/api/Mocha.reporters.Doc.html
class Dot
class Dot extends Base {}
Initialize a new
Dot
matrix test reporter.See Also
https://mochajs.org/api/Mocha.reporters.Dot.html
class HTML
class HTML extends Base {}
Initialize a new
HTML
reporter.- _This reporter cannot be used on the console._
See Also
https://mochajs.org/api/Mocha.reporters.HTML.html
method addCodeToggle
addCodeToggle: (el: HTMLLIElement, contents: string) => void;
Adds code toggle functionality for the provided test's list element.
See Also
https://mochajs.org/api/Mocha.reporters.HTML.html#addCodeToggle
method suiteURL
suiteURL: (suite: Suite) => string;
Provide suite URL.
See Also
https://mochajs.org/api/Mocha.reporters.HTML.html#suiteURL
method testURL
testURL: (test: Test) => string;
Provide test URL.
See Also
https://mochajs.org/api/Mocha.reporters.HTML.html#testURL
class JSON
class JSON extends Base {}
Initialize a new
JSON
reporterSee Also
https://mochajs.org/api/Mocha.reporters.JSON.html
class JSONStream
class JSONStream extends Base {}
Initialize a new
JSONStream
test reporter.See Also
https://mochajs.org/api/Mocha.reporters.JSONStream.html
class Landing
class Landing extends Base {}
Initialize a new
Landing
reporter.See Also
https://mochajs.org/api/Mocha.reporters.Landing.html
class List
class List extends Base {}
Initialize a new
List
test reporter.See Also
https://mochajs.org/api/Mocha.reporters.List.html
class Markdown
class Markdown extends Base {}
Initialize a new
Markdown
test reporter.See Also
https://mochajs.org/api/Mocha.reporters.Markdown.html
class Min
class Min extends Base {}
Initialize a new
Min
minimal test reporter (best used with --watch).See Also
https://mochajs.org/api/Mocha.reporters.Min.html
class Nyan
class Nyan extends Base {}
Initialize a new
NyanCat
test reporter.See Also
https://mochajs.org/api/Mocha.reporters.Nyan.html
class Progress
class Progress extends Base {}
Initialize a new
Progress
bar test reporter.See Also
https://mochajs.org/api/Mocha.reporters.Progress.html
constructor
constructor(runner: Runner, options?: Progress.MochaOptions);
class Spec
class Spec extends Base {}
Initialize a new
Spec
test reporter.See Also
https://mochajs.org/api/Mocha.reporters.Spec.html
class TAP
class TAP extends Base {}
Initialize a new
TAP
test reporter.See Also
https://mochajs.org/api/Mocha.reporters.TAP.html
class XUnit
class XUnit extends Base {}
Initialize a new
XUnit
test reporter.See Also
https://mochajs.org/api/Mocha.reporters.XUnit.html
constructor
constructor(runner: Runner, options?: XUnit.MochaOptions);
method done
done: (failures: number, fn: (failures: number) => void) => void;
Override done to close the stream (if it's a file).
See Also
https://mochajs.org/api/Mocha.reporters.XUnit.html#done
method test
test: (test: Test) => void;
Output tag for the given
test.
See Also
https://mochajs.org/api/Mocha.reporters.XUnit.html#test
method write
write: (line: string) => void;
Write out the given line.
See Also
https://mochajs.org/api/Mocha.reporters.XUnit.html#write
namespace mocha.reporters.Base
namespace mocha.reporters.Base {}
variable colors
const colors: ColorMap;
Default color map
See Also
https://mochajs.org/api/module-base#.colors
variable inlineDiffs
let inlineDiffs: boolean;
Inline diffs instead of +/-
See Also
https://mochajs.org/api/module-base#.inlineDiffs
variable symbols
const symbols: SymbolMap;
Default symbol map
See Also
https://mochajs.org/api/module-base#.symbols
variable useColors
let useColors: boolean;
Enables coloring by default
See Also
https://mochajs.org/api/module-base#.useColors
variable window
const window: { width: number };
Expose terminal window size
See Also
https://mochajs.org/api/module-base#.window
function color
color: (type: string, str: string) => string;
Color
str
with the giventype
(fromcolors
)See Also
https://mochajs.org/api/module-base#.color
function generateDiff
generateDiff: (actual: string, expected: string) => string;
Returns a diff between two strings with colored ANSI output.
See Also
https://mochajs.org/api/module-base#.generateDiff
function list
list: (failures: Test[]) => void;
Output the given
failures
as a list.See Also
https://mochajs.org/api/Mocha.reporters.Base.html#.exports.list1
interface ColorMap
interface ColorMap {}
Default color map
See Also
https://mochajs.org/api/module-base#.colors
property "bright fail"
'bright fail': number;
property "bright pass"
'bright pass': number;
property "bright yellow"
'bright yellow': number;
property "diff added"
'diff added': number;
property "diff gutter"
'diff gutter': number;
property "diff removed"
'diff removed': number;
property "error message"
'error message': number;
property "error stack"
'error stack': number;
property "error title"
'error title': number;
property "plane crash"
'plane crash': number;
property checkmark
checkmark: number;
property fail
fail: number;
property fast
fast: number;
property green
green: number;
property light
light: number;
property medium
medium: number;
property pass
pass: number;
property pending
pending: number;
property plane
plane: number;
property progress
progress: number;
property runway
runway: number;
property slow
slow: number;
property suite
suite: number;
index signature
[key: string]: number;
namespace mocha.reporters.Base.cursor
namespace mocha.reporters.Base.cursor {}
ANSI TTY control sequences common among reporters.
See Also
https://mochajs.org/api/module-base#.cursor
function beginningOfLine
beginningOfLine: () => void;
Moves to the beginning of the line
function CR
CR: () => void;
Clears the line and moves to the beginning of the line.
function deleteLine
deleteLine: () => void;
Deletes the current line
function hide
hide: () => void;
Hides the cursor
function show
show: () => void;
Shows the cursor
namespace mocha.reporters.Progress
namespace mocha.reporters.Progress {}
interface MochaOptions
interface MochaOptions extends Mocha.MochaOptions {}
property reporterOptions
reporterOptions?: ReporterOptions;
interface ReporterOptions
interface ReporterOptions {}
property close
close?: string;
property complete
complete?: string;
property incomplete
incomplete?: string;
property open
open?: string;
property verbose
verbose?: boolean;
namespace mocha.reporters.XUnit
namespace mocha.reporters.XUnit {}
interface MochaOptions
interface MochaOptions extends Mocha.MochaOptions {}
property reporterOptions
reporterOptions?: ReporterOptions;
interface ReporterOptions
interface ReporterOptions {}
namespace mocha.utils
namespace mocha.utils {}
function canonicalize
canonicalize: (value: any, stack: any[], typeHint: string) => any;
Return a new Thing that has the keys in sorted order. Recursive.
If the Thing... - has already been seen, return string
'[Circular]'
- isundefined
, return string'[undefined]'
- isnull
, return valuenull
- is some other primitive, return the value - is not a primitive or anArray
,Object
, orFunction
, return the value of the Thing'stoString()
method - is a non-emptyArray
,Object
, orFunction
, return the result of calling this function again. - is an emptyArray
,Object
, orFunction
, returns'[]'
,'{}'
, or'[Function]'
respectively.See Also
https://mochajs.org/api/module-utils.html#.canonicalize
function clean
clean: (str: string) => string;
Strip the function definition from
str
, and re-indent for pre whitespace.See Also
https://mochajs.org/api/module-utils.html#.clean
function getError
getError: (err: Error | undefined) => Error;
Generate an undefined error if
err
is not defined.See Also
https://mochajs.org/api/module-utils.html#.getError
function highlight
highlight: (js: string) => string;
Highlight the given string of
js
.
function lookupFiles
lookupFiles: ( filepath: string, extensions?: string[], recursive?: boolean) => string[];
Lookup file names at the given
path
.See Also
https://mochajs.org/api/Mocha.utils.html#.exports.lookupFiles
function slug
slug: (str: string) => string;
Compute a slug from the given
str
.See Also
https://mochajs.org/api/module-utils.html#.slug
function stackTraceFilter
stackTraceFilter: () => (stack: string) => string;
When invoking this function you get a filter function that get the Error.stack as an input, and return a prettify output. (i.e: strip Mocha and internal node functions from stack trace).
See Also
https://mochajs.org/api/module-utils.html#.stackTraceFilter
function stringify
stringify: (value: any) => string;
Stringify
value
. Different behavior depending on type of value:- If
value
is undefined or null, return'[undefined]'
or'[null]'
, respectively. - Ifvalue
is not an object, function or array, return result ofvalue.toString()
wrapped in double-quotes. - Ifvalue
is an *empty* object, function, or array, returns'{}'
,'[Function]'
, or'[]'
respectively. - Ifvalue
has properties, call canonicalize} on it, then return result ofJSON.stringify()
See Also
https://mochajs.org/api/module-utils.html#.stringify
function type
type: (value: any) => string;
Takes some variable and asks
Object.prototype.toString()
what it thinks it is.
function undefinedError
undefinedError: () => Error;
Generate an undefined error with a message warning the user.
See Also
https://mochajs.org/api/module-utils.html#.undefinedError
namespace mocha/lib/interfaces/common
module 'mocha/lib/interfaces/common' {}
function common
common: ( suites: Mocha.Suite[], context: Mocha.MochaGlobals, mocha: Mocha) => common.CommonFunctions;
interface CommonFunctions
interface CommonFunctions {}
property suite
suite: SuiteFunctions;
property test
test: TestFunctions;
method after
after: { (fn?: Mocha.Func | Mocha.AsyncFunc): void; (name: string, fn?: Mocha.Func | Mocha.AsyncFunc): void;};
Execute after running tests.
method afterEach
afterEach: { (fn?: Mocha.Func | Mocha.AsyncFunc): void; (name: string, fn?: Mocha.Func | Mocha.AsyncFunc): void;};
Execute after each test case.
method before
before: { (fn?: Mocha.Func | Mocha.AsyncFunc): void; (name: string, fn?: Mocha.Func | Mocha.AsyncFunc): void;};
Execute before running tests.
method beforeEach
beforeEach: { (fn?: Mocha.Func | Mocha.AsyncFunc): void; (name: string, fn?: Mocha.Func | Mocha.AsyncFunc): void;};
Execute before each test case.
method runWithSuite
runWithSuite: (suite: Mocha.Suite) => () => void;
This is only present if flag --delay is passed into Mocha. It triggers root suite execution.
interface CreateOptions
interface CreateOptions {}
interface SuiteFunctions
interface SuiteFunctions {}
interface TestFunctions
interface TestFunctions {}
namespace mocha/lib/ms
module 'mocha/lib/ms' {}
function milliseconds
milliseconds: { (val: string): number; (val: number): string };
Parse the given
str
and return milliseconds.See Also
Package Files (4)
Dependencies (43)
- @cypress/request
- @cypress/xvfb
- @types/sinonjs__fake-timers
- @types/sizzle
- arch
- blob-util
- bluebird
- buffer
- cachedir
- chalk
- check-more-types
- ci-info
- cli-cursor
- cli-table3
- commander
- common-tags
- dayjs
- debug
- enquirer
- eventemitter2
- execa
- executable
- extract-zip
- figures
- fs-extra
- getos
- is-installed-globally
- lazy-ass
- listr2
- lodash
- log-symbols
- minimist
- ospath
- pretty-bytes
- process
- proxy-from-env
- request-progress
- semver
- supports-color
- tmp
- tree-kill
- untildify
- yauzl
Dev Dependencies (0)
No dev dependencies.
Peer Dependencies (0)
No peer dependencies.
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/cypress
.
- Markdown[![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/cypress)
- HTML<a href="https://www.jsdocs.io/package/cypress"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 24548 ms. - Missing or incorrect documentation? Open an issue for this package.