Skip to content

Latest commit

 

History

History
2647 lines (1543 loc) · 74 KB

README.md

File metadata and controls

2647 lines (1543 loc) · 74 KB

selenidejs

selenidejs

Index

Namespaces

Classes

Interfaces

Type aliases

Variables

Functions

Namespaces

Extensions

Extensions:

Defined in lib/utils/extensions.ts:24

isAbsoluteUrl

isAbsoluteUrl(relativeOrAbsoluteUrl: string): boolean

Defined in lib/utils/extensions.ts:53

Parameters:

Name Type
relativeOrAbsoluteUrl string

Returns: boolean

savePageSource

savePageSource(driver: WebDriver, filePath: string): Promise‹string›

Defined in lib/utils/extensions.ts:27

Parameters:

Name Type
driver WebDriver
filePath string

Returns: Promise‹string›

saveScreenshot

saveScreenshot(driver: WebDriver, filePath: string): Promise‹string›

Defined in lib/utils/extensions.ts:37

Parameters:

Name Type
driver WebDriver
filePath string

Returns: Promise‹string›

toBy

toBy(cssOrXpathOrBy: string | By): By

Defined in lib/utils/extensions.ts:47

Parameters:

Name Type
cssOrXpathOrBy string | By

Returns: By


be

be:

Defined in lib/support/conditions/be.ts:19

Const absent

absent: ElementCondition = condition.element.isAbsent

Defined in lib/support/conditions/be.ts:24

Const blank

blank: ElementCondition = condition.element.isBlank

Defined in lib/support/conditions/be.ts:38

Const disabled

disabled: ElementCondition = condition.element.isDisabled

Defined in lib/support/conditions/be.ts:36

Const enabled

enabled: ElementCondition = condition.element.isEnabled

Defined in lib/support/conditions/be.ts:34

Const focused

focused: ElementCondition = condition.element.isFocused

Defined in lib/support/conditions/be.ts:32

Const hidden

hidden: ElementCondition = condition.element.isHidden

Defined in lib/support/conditions/be.ts:30

Const not

not: be = new Proxy(be, { get: (be, conditionName) => Condition.not(be[conditionName]) })

Defined in lib/support/conditions/be.ts:20

Const present

present: ElementCondition = condition.element.isPresent

Defined in lib/support/conditions/be.ts:26

Const selected

selected: ElementCondition = condition.element.isSelected

Defined in lib/support/conditions/be.ts:22

Const visible

visible: ElementCondition = condition.element.isVisible

Defined in lib/support/conditions/be.ts:28


by

by:

Defined in lib/support/selectors/by.ts:19

Const NORMALIZE_SPACE_XPATH

NORMALIZE_SPACE_XPATH: *"normalize-space(translate(string(.), '

 ', ' '))"* = "normalize-space(translate(string(.), '

 ', ' '))"

Defined in lib/support/selectors/by.ts:21

attribute

attribute(attributeName: string, attributeValue: string): By

Defined in lib/support/selectors/by.ts:69

Parameters:

Name Type
attributeName string
attributeValue string

Returns: By

className

className(className: string): By

Defined in lib/support/selectors/by.ts:57

Parameters:

Name Type
className string

Returns: By

css

css(css: string): By

Defined in lib/support/selectors/by.ts:65

Parameters:

Name Type
css string

Returns: By

exactText

exactText(text: string): By‹›

Defined in lib/support/selectors/by.ts:41

Parameters:

Name Type
text string

Returns: By‹›

id

id(id: string): By

Defined in lib/support/selectors/by.ts:49

Parameters:

Name Type
id string

Returns: By

linkText

linkText(text: string): By

Defined in lib/support/selectors/by.ts:45

Parameters:

Name Type
text string

Returns: By

name

name(name: string): By

Defined in lib/support/selectors/by.ts:53

Parameters:

Name Type
name string

Returns: By

partialId

partialId(...idParts: string[]): By

Defined in lib/support/selectors/by.ts:32

Parameters:

Name Type
...idParts string[]

Returns: By

text

text(text: string): By‹›

Defined in lib/support/selectors/by.ts:37

Parameters:

Name Type
text string

Returns: By‹›

type

type(type: string): By

Defined in lib/support/selectors/by.ts:23

Parameters:

Name Type
type string

Returns: By

value

value(value: string): By

Defined in lib/support/selectors/by.ts:27

Parameters:

Name Type
value string

Returns: By

xpath

xpath(xpath: string): By

Defined in lib/support/selectors/by.ts:61

Parameters:

Name Type
xpath string

Returns: By


command

command:

Defined in lib/commands.ts:18

js

js:

Defined in lib/commands.ts:31

Const click

click: (Anonymous function) = lambda('click by js', clickWithOffset(0, 0))

Defined in lib/commands.ts:53

Const scrollIntoView

scrollIntoView: (Anonymous function) = lambda('scroll into view', async element => element.executeScript((element: HTMLInputElement) => element.scrollIntoView(true)))

Defined in lib/commands.ts:89

Const clickWithOffset

clickWithOffset(xOffset: number, yOffset: number): (Anonymous function)

Defined in lib/commands.ts:35

Parameters:

Name Type
xOffset number
yOffset number

Returns: (Anonymous function)

Const setValue

setValue(value: string | number): (Anonymous function)

Defined in lib/commands.ts:55

Parameters:

Name Type
value string | number

Returns: (Anonymous function)

Const type

type(keys: string | number): (Anonymous function)

Defined in lib/commands.ts:73

Parameters:

Name Type
keys string | number

Returns: (Anonymous function)


condition

condition:

Defined in lib/conditions.ts:90

The list of predefined conditions for all type of entities:

  • condition.element.*
  • condition.collection.*
  • condition.browser.*

Can be used in the following way:

    await browser.all('.google-result').should(condition.collection.have.size(10))

Yet there are more handy aliases in be.* and have.* namespaces:

    await browser.all('.google-result').should(have.size(10))

All conditions (Condition) are just predicate-like functions on entity of corresponding type (T), wrapped into Condition object: new Condition(description, predicateLikeFn) The "predicate-like" function should:

  • pass (returning void) in case when a "normal predicate" version would return true
  • throw Error in case when a "normal predicate" would return false

The following example shows how a condition can be implemented:

    export function hasText(expected: string): ElementCondition {
        return new Condition(`has text: ${expected}`, async (element: Element) => {
            const actual = await element.getWebElement().then(it => it.getText());
            if (!actual.includes(expected)) {
                throw new Error(`actual text: ${actual}`);
            }
        })
    }

Or more concise by using arrow functions:

    export const hasText = (expected: string): ElementCondition =>
        new Condition(`has text: ${expected}`, async (element: Element) => {
            const actual = await element.getWebElement().then(it => it.getText());
            if (!actual.includes(expected)) {
                throw new Error(`actual text: ${actual}`);
            }
        });

We can refactor the code above even more, if notice, that the actual condition reflects a simple rule:

  • throw error if actual value (returned from some query on element like "getting its text") does not satisfy the predicate (like includes expected text) If we abstract this "throw error if not predicate(actual)" into some function like throwIfNotActual, The code will become very concise and declarative:
    export const hasText = (expected: string): ElementCondition =>
        new Condition(`has text: ${expected}`,
               throwIfNotActual(query.text, predicate.includes(expected)));

This is how predefined in selenidejs conditions are implemented below.

Have fun;)

browser

browser:

Defined in lib/conditions.ts:242

Const hasJsReturned

hasJsReturned(expected: any, script: string | function, ...args: any[]): BrowserCondition

Defined in lib/conditions.ts:279

Parameters:

Name Type
expected any
script string | function
...args any[]

Returns: BrowserCondition

Const hasTabsNumber

hasTabsNumber(num: number): BrowserCondition

Defined in lib/conditions.ts:264

Parameters:

Name Type
num number

Returns: BrowserCondition

Const hasTabsNumberLessThan

hasTabsNumberLessThan(num: number): BrowserCondition

Defined in lib/conditions.ts:274

Parameters:

Name Type
num number

Returns: BrowserCondition

Const hasTabsNumberMoreThan

hasTabsNumberMoreThan(num: number): BrowserCondition

Defined in lib/conditions.ts:269

Parameters:

Name Type
num number

Returns: BrowserCondition

Const hasTitle

hasTitle(title: string): BrowserCondition

Defined in lib/conditions.ts:254

Parameters:

Name Type
title string

Returns: BrowserCondition

Const hasTitleContaining

hasTitleContaining(partialTitle: string): BrowserCondition

Defined in lib/conditions.ts:259

Parameters:

Name Type
partialTitle string

Returns: BrowserCondition

Const hasUrl

hasUrl(url: string): BrowserCondition

Defined in lib/conditions.ts:249

Parameters:

Name Type
url string

Returns: BrowserCondition

Const hasUrlContaining

hasUrlContaining(partialUrl: string): BrowserCondition

Defined in lib/conditions.ts:244

Parameters:

Name Type
partialUrl string

Returns: BrowserCondition

collection

collection:

Defined in lib/conditions.ts:201

Const hasExactTexts

hasExactTexts(texts: string[] | number[]): CollectionCondition

Defined in lib/conditions.ts:236

Parameters:

Name Type
texts string[] | number[]

Returns: CollectionCondition

Const hasSize

hasSize(expected: number): CollectionCondition

Defined in lib/conditions.ts:202

Parameters:

Name Type
expected number

Returns: CollectionCondition

Const hasSizeGreaterThan

hasSizeGreaterThan(size: number): CollectionCondition

Defined in lib/conditions.ts:207

Parameters:

Name Type
size number

Returns: CollectionCondition

Const hasSizeGreaterThanOrEqual

hasSizeGreaterThanOrEqual(size: number): CollectionCondition

Defined in lib/conditions.ts:212

Parameters:

Name Type
size number

Returns: CollectionCondition

Const hasSizeLessThan

hasSizeLessThan(size: number): CollectionCondition

Defined in lib/conditions.ts:217

Parameters:

Name Type
size number

Returns: CollectionCondition

Const hasSizeLessThanOrEqual

hasSizeLessThanOrEqual(size: number): CollectionCondition

Defined in lib/conditions.ts:222

Parameters:

Name Type
size number

Returns: CollectionCondition

Const hasTexts

hasTexts(texts: string[] | number[]): CollectionCondition

Defined in lib/conditions.ts:231

Parameters:

Name Type
texts string[] | number[]

Returns: CollectionCondition

element

element:

Defined in lib/conditions.ts:122

Const isAbsent

isAbsent: Condition‹unknown› = Condition.not(isPresent, 'is absent')

Defined in lib/conditions.ts:150

Const isBlank

isBlank: any = hasExactText('').and(hasValue(''))

Defined in lib/conditions.ts:198

Const isDisabled

isDisabled: Condition‹unknown› = Condition.not(isEnabled, 'is disabled')

Defined in lib/conditions.ts:143

Const isEnabled

isEnabled: Condition‹unknown› = new Condition( 'is enabled', throwIfNot(async (element: Element) => element.getWebElement().then(webelement => webelement.isEnabled())) )

Defined in lib/conditions.ts:138

Const isFocused

isFocused: Condition‹unknown› = new Condition( 'is focused', throwIfNot(async (element: Element) => WebElement.equals( await element.executeScript('return document.activeElement') as WebElement, await element.getWebElement() )) )

Defined in lib/conditions.ts:152

Const isHidden

isHidden: Condition‹unknown› = Condition.not(isVisible, 'is hidden')

Defined in lib/conditions.ts:129

Const isPresent

isPresent: Condition‹unknown› = new Condition( 'is present', throwIfNot(async (element: Element) => element.getWebElement().then(_ => true, _ => false) ))

Defined in lib/conditions.ts:145

Const isSelected

isSelected: Condition‹unknown› = hasAttribute('elementIsSelected')

Defined in lib/conditions.ts:136

Const isVisible

isVisible: Condition‹unknown› = new Condition( 'is visible', throwIfNot(async (element: Element) => element.getWebElement().then(webelement => webelement.isDisplayed())) )

Defined in lib/conditions.ts:124

Const hasAttribute

hasAttribute(name: string): Condition‹unknown›

Defined in lib/conditions.ts:131

Parameters:

Name Type
name string

Returns: Condition‹unknown›

Const hasAttributeWithValue

hasAttributeWithValue(name: string, value: string | number): Condition‹unknown›

Defined in lib/conditions.ts:174

Parameters:

Name Type
name string
value string | number

Returns: Condition‹unknown›

Const hasAttributeWithValueContaining

hasAttributeWithValueContaining(name: string, partialValue: string | number): Condition‹unknown›

Defined in lib/conditions.ts:180

Parameters:

Name Type
name string
partialValue string | number

Returns: Condition‹unknown›

Const hasCssClass

hasCssClass(cssClass: string): Condition‹unknown›

Defined in lib/conditions.ts:185

Parameters:

Name Type
cssClass string

Returns: Condition‹unknown›

Const hasExactText

hasExactText(expected: string | number): Condition‹unknown›

Defined in lib/conditions.ts:170

Parameters:

Name Type
expected string | number

Returns: Condition‹unknown›

Const hasText

hasText(expected: string | number | RegExp): Condition‹unknown›

Defined in lib/conditions.ts:161

Parameters:

Name Type
expected string | number | RegExp

Returns: Condition‹unknown›

Const hasValue

hasValue(expected: string | number): Condition‹unknown›

Defined in lib/conditions.ts:190

Parameters:

Name Type
expected string | number

Returns: Condition‹unknown›

Const hasValueContaining

hasValueContaining(expected: string | number): Condition‹unknown›

Defined in lib/conditions.ts:193

Parameters:

Name Type
expected string | number

Returns: Condition‹unknown›

throwIfNot

throwIfNot<E>(predicate: function): Lambda‹E, void›

Defined in lib/conditions.ts:97

Creates condition from async query

Type parameters:

E

Parameters:

predicate: function

▸ (entity: E): Promise‹boolean›

Parameters:

Name Type
entity E

Returns: Lambda‹E, void›

throwIfNotActual

throwIfNotActual<E, A>(query: function, predicate: function): Lambda‹E, void›

Defined in lib/conditions.ts:109

Transforms an entity query compared through predicate - to Condition Example: throwIfNotActual(query.text, predicate.equals(text))

Type parameters:

E

A

Parameters:

query: function

▸ (entity: E): Promise‹A›

Parameters:

Name Type
entity E

predicate: function

▸ (actual: A): boolean

Parameters:

Name Type
actual A

Returns: Lambda‹E, void›


find

find:

Defined in lib/support/elements/find.ts:21

Const alert

alert(browser: Browser): AlertPromise‹›

Defined in lib/support/elements/find.ts:51

Parameters:

Name Type
browser Browser

Returns: AlertPromise‹›

Const collected

collected(searchFunction: function): (Anonymous function)

Defined in lib/support/elements/find.ts:28

Parameters:

searchFunction: function

▸ (element: Element): Element | Collection

Parameters:

Name Type
element Element

Returns: (Anonymous function)

Const element

element(cssOrXpathOrBy: string | By): (Anonymous function)

Defined in lib/support/elements/find.ts:25

Parameters:

Name Type
cssOrXpathOrBy string | By

Returns: (Anonymous function)

Const elementAt

elementAt(index: number): (Anonymous function)

Defined in lib/support/elements/find.ts:37

Parameters:

Name Type
index number

Returns: (Anonymous function)

Const elementBy

elementBy(condition: ElementCondition): (Anonymous function)

Defined in lib/support/elements/find.ts:45

Parameters:

Name Type
condition ElementCondition

Returns: (Anonymous function)

Const filteredBy

filteredBy(condition: ElementCondition): (Anonymous function)

Defined in lib/support/elements/find.ts:47

Parameters:

Name Type
condition ElementCondition

Returns: (Anonymous function)

Const first

first(collection: Collection): Element‹›

Defined in lib/support/elements/find.ts:40

Parameters:

Name Type
collection Collection

Returns: Element‹›

Const followingSibling

followingSibling(element: Element): Element‹›

Defined in lib/support/elements/find.ts:33

Parameters:

Name Type
element Element

Returns: Element‹›

Const parent

parent(element: Element): Element‹›

Defined in lib/support/elements/find.ts:32

Parameters:

Name Type
element Element

Returns: Element‹›

Const sliced

sliced(start: number, end: number): (Anonymous function)

Defined in lib/support/elements/find.ts:41

Parameters:

Name Type
start number
end number

Returns: (Anonymous function)


get

get:

Defined in lib/support/queries/get.ts:25

to be used in the following context: element.click().then(get.text)

Const currentTab

currentTab: (Anonymous function) = waitingForBrowser(query.currentTab)

Defined in lib/support/queries/get.ts:56

Const innerHtml

innerHtml: (Anonymous function) = waitingForEntity(query.innerHtml)

Defined in lib/support/queries/get.ts:35

Const outerHtml

outerHtml: (Anonymous function) = waitingForEntity(query.outerHtml)

Defined in lib/support/queries/get.ts:36

Const pageSource

pageSource: (Anonymous function) = waitingForBrowser(query.pageSource)

Defined in lib/support/queries/get.ts:58

Const size

size: (Anonymous function) = waitingForCollection(query.size)

Defined in lib/support/queries/get.ts:44

Const someText

someText: (Anonymous function) = waitingForEntity(query.someText)

Defined in lib/support/queries/get.ts:33

Const tabs

tabs: (Anonymous function) = waitingForBrowser(query.tabs)

Defined in lib/support/queries/get.ts:54

Const tabsNumber

tabsNumber: (Anonymous function) = waitingForBrowser(query.tabsNumber)

Defined in lib/support/queries/get.ts:57

Const text

text: (Anonymous function) = waitingForEntity(query.text)

Defined in lib/support/queries/get.ts:32

Const texts

texts: (Anonymous function) = waitingForCollection(query.texts)

Defined in lib/support/queries/get.ts:45

Const title

title: (Anonymous function) = waitingForBrowser(query.title)

Defined in lib/support/queries/get.ts:53

Const url

url: (Anonymous function) = waitingForBrowser(query.url)

Defined in lib/support/queries/get.ts:52

Const value

value: (Anonymous function) = waitingForEntity(query.value)

Defined in lib/support/queries/get.ts:37

Const attribute

attribute(name: string): (Anonymous function)

Defined in lib/support/queries/get.ts:34

Parameters:

Name Type
name string

Returns: (Anonymous function)

Const tab

tab(index: number): (Anonymous function)

Defined in lib/support/queries/get.ts:55

Parameters:

Name Type
index number

Returns: (Anonymous function)

Const waitingForBrowser

waitingForBrowser<R>(query: LambdaBrowser, R›): (Anonymous function)

Defined in lib/support/queries/get.ts:49

Type parameters:

R

Parameters:

Name Type
query LambdaBrowser, R›

Returns: (Anonymous function)

Const waitingForCollection

waitingForCollection<R>(query: LambdaCollection, R›): (Anonymous function)

Defined in lib/support/queries/get.ts:41

Type parameters:

R

Parameters:

Name Type
query LambdaCollection, R›

Returns: (Anonymous function)

Const waitingForEntity

waitingForEntity<R>(query: LambdaElement, R›): (Anonymous function)

Defined in lib/support/queries/get.ts:29

Type parameters:

R

Parameters:

Name Type
query LambdaElement, R›

Returns: (Anonymous function)


have

have:

Defined in lib/support/conditions/have.ts:18

Const no

no: have = new Proxy(have, { get: (have, conditionName) => (...args) => Condition.not(haveconditionName) })

Defined in lib/support/conditions/have.ts:20

Const attribute

attribute(name: string): ElementCondition

Defined in lib/support/conditions/have.ts:32

Parameters:

Name Type
name string

Returns: ElementCondition

Const attributeWithValue

attributeWithValue(attributeName: string, attributeValue: string | number): ElementCondition

Defined in lib/support/conditions/have.ts:35

Parameters:

Name Type
attributeName string
attributeValue string | number

Returns: ElementCondition

Const attributeWithValueContaining

attributeWithValueContaining(attributeName: string, attributeValue: string | number): ElementCondition

Defined in lib/support/conditions/have.ts:38

Parameters:

Name Type
attributeName string
attributeValue string | number

Returns: ElementCondition

Const cssClass

cssClass(cssClass: string): ElementCondition

Defined in lib/support/conditions/have.ts:48

Parameters:

Name Type
cssClass string

Returns: ElementCondition

Const exactText

exactText(value: string | number): ElementCondition

Defined in lib/support/conditions/have.ts:26

Parameters:

Name Type
value string | number

Returns: ElementCondition

Const exactTexts

exactTexts(...texts: string[]): CollectionCondition

Defined in lib/support/conditions/have.ts:68

Parameters:

Name Type
...texts string[]

Returns: CollectionCondition

Const jsReturned

jsReturned(expected: any, script: string, ...scriptArgs: any[]): BrowserCondition

Defined in lib/support/conditions/have.ts:96

Parameters:

Name Type
expected any
script string
...scriptArgs any[]

Returns: BrowserCondition

Const size

size(size: number): CollectionCondition

Defined in lib/support/conditions/have.ts:53

Parameters:

Name Type
size number

Returns: CollectionCondition

Const sizeGreaterThan

sizeGreaterThan(size: number): CollectionCondition

Defined in lib/support/conditions/have.ts:59

Parameters:

Name Type
size number

Returns: CollectionCondition

Const sizeGreaterThanOrEqual

sizeGreaterThanOrEqual(size: number): CollectionCondition

Defined in lib/support/conditions/have.ts:61

Parameters:

Name Type
size number

Returns: CollectionCondition

Const sizeLessThan

sizeLessThan(size: number): CollectionCondition

Defined in lib/support/conditions/have.ts:55

Parameters:

Name Type
size number

Returns: CollectionCondition

Const sizeLessThanOrEqual

sizeLessThanOrEqual(size: number): CollectionCondition

Defined in lib/support/conditions/have.ts:57

Parameters:

Name Type
size number

Returns: CollectionCondition

Const tabsNumber

tabsNumber(num: number): BrowserCondition

Defined in lib/support/conditions/have.ts:85

Parameters:

Name Type
num number

Returns: BrowserCondition

Const tabsNumberLessThan

tabsNumberLessThan(num: number): BrowserCondition

Defined in lib/support/conditions/have.ts:88

Parameters:

Name Type
num number

Returns: BrowserCondition

Const tabsNumberMoreThan

tabsNumberMoreThan(num: number): BrowserCondition

Defined in lib/support/conditions/have.ts:91

Parameters:

Name Type
num number

Returns: BrowserCondition

Const text

text(value: string | number | RegExp): ElementCondition

Defined in lib/support/conditions/have.ts:29

Parameters:

Name Type
value string | number | RegExp

Returns: ElementCondition

Const texts

texts(...texts: string[]): CollectionCondition

Defined in lib/support/conditions/have.ts:65

Parameters:

Name Type
...texts string[]

Returns: CollectionCondition

Const title

title(expected: string): BrowserCondition

Defined in lib/support/conditions/have.ts:79

Parameters:

Name Type
expected string

Returns: BrowserCondition

Const titleContaining

titleContaining(titlePart: string): BrowserCondition

Defined in lib/support/conditions/have.ts:82

Parameters:

Name Type
titlePart string

Returns: BrowserCondition

Const url

url(url: string): BrowserCondition

Defined in lib/support/conditions/have.ts:71

Parameters:

Name Type
url string

Returns: BrowserCondition

Const urlContaining

urlContaining(urlPart: string): BrowserCondition

Defined in lib/support/conditions/have.ts:76

Parameters:

Name Type
urlPart string

Returns: BrowserCondition

Const value

value(value: string | number): ElementCondition

Defined in lib/support/conditions/have.ts:42

Parameters:

Name Type
value string | number

Returns: ElementCondition

Const valueContaining

valueContaining(expected: string | number): ElementCondition

Defined in lib/support/conditions/have.ts:45

Parameters:

Name Type
expected string | number

Returns: ElementCondition


perform

perform:

Defined in lib/support/commands/perform.ts:26

js

js:

Defined in lib/support/commands/perform.ts:45

Const click

click(element: Element): Promise‹Element‹››

Defined in lib/support/commands/perform.ts:47

Parameters:

Name Type
element Element

Returns: Promise‹Element‹››

Const clickWithOffset

clickWithOffset(xOffset: number, yOffset: number): (Anonymous function)

Defined in lib/support/commands/perform.ts:49

Parameters:

Name Type
xOffset number
yOffset number

Returns: (Anonymous function)

Const scrollIntoView

scrollIntoView(element: Element): Promise‹Element‹››

Defined in lib/support/commands/perform.ts:58

Parameters:

Name Type
element Element

Returns: Promise‹Element‹››

Const setValue

setValue(value: string | number): (Anonymous function)

Defined in lib/support/commands/perform.ts:52

Parameters:

Name Type
value string | number

Returns: (Anonymous function)

Const type

type(keys: string | number): (Anonymous function)

Defined in lib/support/commands/perform.ts:55

Parameters:

Name Type
keys string | number

Returns: (Anonymous function)

Const back

back(browser: Browser): Promise‹void›

Defined in lib/support/commands/perform.ts:83

Parameters:

Name Type
browser Browser

Returns: Promise‹void›

Const clear

clear(element: Element): Promise‹Element‹››

Defined in lib/support/commands/perform.ts:35

Parameters:

Name Type
element Element

Returns: Promise‹Element‹››

Const clearCookies

clearCookies(browser: Browser): Promise‹Browser‹››

Defined in lib/support/commands/perform.ts:95

Parameters:

Name Type
browser Browser

Returns: Promise‹Browser‹››

Const clearLocalStorage

clearLocalStorage(browser: Browser): Promise‹Browser‹››

Defined in lib/support/commands/perform.ts:93

Parameters:

Name Type
browser Browser

Returns: Promise‹Browser‹››

Const clearSessionStorage

clearSessionStorage(browser: Browser): Promise‹Browser‹››

Defined in lib/support/commands/perform.ts:94

Parameters:

Name Type
browser Browser

Returns: Promise‹Browser‹››

Const click

click(element: Element): Promise‹Element‹››

Defined in lib/support/commands/perform.ts:30

Parameters:

Name Type
element Element

Returns: Promise‹Element‹››

Const closeCurrentTab

closeCurrentTab(browser: Browser): Promise‹Browser‹››

Defined in lib/support/commands/perform.ts:81

Parameters:

Name Type
browser Browser

Returns: Promise‹Browser‹››

Const contextClick

contextClick(element: Element): Promise‹Element‹››

Defined in lib/support/commands/perform.ts:32

Parameters:

Name Type
element Element

Returns: Promise‹Element‹››

Const doubleClick

doubleClick(element: Element): Promise‹Element‹››

Defined in lib/support/commands/perform.ts:31

Parameters:

Name Type
element Element

Returns: Promise‹Element‹››

Const executeScript

executeScript(script: string | function, ...args: any[]): (Anonymous function)

Defined in lib/support/commands/perform.ts:98

Parameters:

Name Type
script string | function
...args any[]

Returns: (Anonymous function)

Const forward

forward(browser: Browser): Promise‹void›

Defined in lib/support/commands/perform.ts:84

Parameters:

Name Type
browser Browser

Returns: Promise‹void›

Const goToNextTab

goToNextTab(browser: Browser): Promise‹Browser‹››

Defined in lib/support/commands/perform.ts:86

Parameters:

Name Type
browser Browser

Returns: Promise‹Browser‹››

Const goToPreviousTab

goToPreviousTab(browser: Browser): Promise‹Browser‹››

Defined in lib/support/commands/perform.ts:87

Parameters:

Name Type
browser Browser

Returns: Promise‹Browser‹››

Const goToTab

goToTab(indexOrId: number | string): (Anonymous function)

Defined in lib/support/commands/perform.ts:88

Parameters:

Name Type
indexOrId number | string

Returns: (Anonymous function)

Const hover

hover(element: Element): Promise‹Element‹››

Defined in lib/support/commands/perform.ts:33

Parameters:

Name Type
element Element

Returns: Promise‹Element‹››

Const open

open(url: string): (Anonymous function)

Defined in lib/support/commands/perform.ts:77

Parameters:

Name Type
url string

Returns: (Anonymous function)

Const pressEnter

pressEnter(element: Element): Promise‹Element‹››

Defined in lib/support/commands/perform.ts:39

Parameters:

Name Type
element Element

Returns: Promise‹Element‹››

Const pressEscape

pressEscape(element: Element): Promise‹Element‹››

Defined in lib/support/commands/perform.ts:41

Parameters:

Name Type
element Element

Returns: Promise‹Element‹››

Const pressTab

pressTab(element: Element): Promise‹Element‹››

Defined in lib/support/commands/perform.ts:40

Parameters:

Name Type
element Element

Returns: Promise‹Element‹››

Const quit

quit(browser: Browser): Promise‹void›

Defined in lib/support/commands/perform.ts:82

Parameters:

Name Type
browser Browser

Returns: Promise‹void›

Const refresh

refresh(browser: Browser): Promise‹void›

Defined in lib/support/commands/perform.ts:85

Parameters:

Name Type
browser Browser

Returns: Promise‹void›

Const resizeWindow

resizeWindow(width: any, height: any): (Anonymous function)

Defined in lib/support/commands/perform.ts:78

Parameters:

Name Type
width any
height any

Returns: (Anonymous function)

Const screenshot

screenshot(browser: Browser): Promise‹Buffer›

Defined in lib/support/commands/perform.ts:80

Parameters:

Name Type
browser Browser

Returns: Promise‹Buffer›

Const setValue

setValue(value: string | number): (Anonymous function)

Defined in lib/support/commands/perform.ts:37

Parameters:

Name Type
value string | number

Returns: (Anonymous function)

Const switchToDefaultFrame

switchToDefaultFrame(browser: Browser): Promise‹Browser‹››

Defined in lib/support/commands/perform.ts:91

Parameters:

Name Type
browser Browser

Returns: Promise‹Browser‹››

Const type

type(keys: string | number): (Anonymous function)

Defined in lib/support/commands/perform.ts:36

Parameters:

Name Type
keys string | number

Returns: (Anonymous function)


predicate

predicate:

Defined in lib/utils/predicates.ts:16

Const equalsByContainsToArray

equalsByContainsToArray: (Anonymous function) = arrayCompareBy(includes)

Defined in lib/utils/predicates.ts:32

Const equalsToArray

equalsToArray: (Anonymous function) = arrayCompareBy(equals)

Defined in lib/utils/predicates.ts:31

Const arrayCompareBy

arrayCompareBy(f: any): (Anonymous function)

Defined in lib/utils/predicates.ts:27

Parameters:

Name Type
f any

Returns: (Anonymous function)

Const equals

equals<V>(expected: V): (Anonymous function)

Defined in lib/utils/predicates.ts:18

Type parameters:

V

Parameters:

Name Type
expected V

Returns: (Anonymous function)

Const includes

includes(expected: any): (Anonymous function)

Defined in lib/utils/predicates.ts:23

Parameters:

Name Type
expected any

Returns: (Anonymous function)

Const includesWord

includesWord(expected: string): (Anonymous function)

Defined in lib/utils/predicates.ts:25

Parameters:

Name Type
expected string

Returns: (Anonymous function)

Const isGreaterThan

isGreaterThan<V>(expected: V): (Anonymous function)

Defined in lib/utils/predicates.ts:19

Type parameters:

V

Parameters:

Name Type
expected V

Returns: (Anonymous function)

Const isGreaterThanOrEqual

isGreaterThanOrEqual<V>(expected: V): (Anonymous function)

Defined in lib/utils/predicates.ts:20

Type parameters:

V

Parameters:

Name Type
expected V

Returns: (Anonymous function)

Const isLessThan

isLessThan<V>(expected: V): (Anonymous function)

Defined in lib/utils/predicates.ts:21

Type parameters:

V

Parameters:

Name Type
expected V

Returns: (Anonymous function)

Const isLessThanOrEqual

isLessThanOrEqual<V>(expected: V): (Anonymous function)

Defined in lib/utils/predicates.ts:22

Type parameters:

V

Parameters:

Name Type
expected V

Returns: (Anonymous function)

Const isTruthy

isTruthy<V>(actual: V): boolean

Defined in lib/utils/predicates.ts:17

Type parameters:

V

Parameters:

Name Type
actual V

Returns: boolean

Const matches

matches(expected: any): (Anonymous function)

Defined in lib/utils/predicates.ts:24

Parameters:

Name Type
expected any

Returns: (Anonymous function)


query

query:

Defined in lib/queries.ts:48

Raw queries on actual element's webelement 'Raw' means - without any waiting...

All are implemented through element.getWebElement() e.g. element.getWebElement().getText over element.text() because element.text() already has waiting built in. this is needed, because these queries are used not only to build corresponding element methods with waiting built in but also for conditions...

Hence, these functions are not supposed to be used in "perform/get" context: element.click().then(query.text) this query may fail if element was absent after click for some milliseconds... use the following alternative instead: element.click().then(get.text)

Here, queries do not contain has* and is* queries, like hasText, or isVisible. User can use has* and is* conditions instead. Example: `if (element.matches(has.text('foo'))) { ... } We really don't need such has* or is* queries both here and built in the entity itself (like element.isVisible), because their use case is very rare. The user will mainly use steps (entity commands, like click) and assertions (entity should(condition)) in tests. And SelenideJs is a tests tool, not something else.

Const currentTab

currentTab: (Anonymous function) = lambda('current tab (window handle)', async (browser: Browser) => browser.driver.getWindowHandle())

Defined in lib/queries.ts:92

Const innerHtml

innerHtml: (Anonymous function) = attribute('innerHTML')

Defined in lib/queries.ts:67

Const nextTab

nextTab: (Anonymous function) = lambda('next tab (window handle)', async (browser: Browser) => { const currentTab = await browser.driver.getWindowHandle(); const allTabs = await browser.driver.getAllWindowHandles(); const currentTabIndex = allTabs.indexOf(currentTab); return currentTabIndex >= allTabs.length ? allTabs[0] : allTabs[currentTabIndex + 1]; })

Defined in lib/queries.ts:98

Const outerHtml

outerHtml: (Anonymous function) = attribute('outerHTML')

Defined in lib/queries.ts:69

Const pageSource

pageSource: (Anonymous function) = lambda('page source', async (browser: Browser) => browser.driver.getPageSource())

Defined in lib/queries.ts:118

Const previousTab

previousTab: (Anonymous function) = lambda('previous tab (window handle)', async (browser: Browser) => { const currentTab = await browser.driver.getWindowHandle(); const allTabs = await browser.driver.getAllWindowHandles(); const currentTabIndex = allTabs.indexOf(currentTab); return currentTabIndex > 0 ? allTabs[currentTabIndex - 1] : allTabs[allTabs.length - 1]; })

Defined in lib/queries.ts:105

Const size

size: (Anonymous function) = lambda('size', async (collection: Collection) => (await collection.getWebElements()).length)

Defined in lib/queries.ts:76

Const someText

someText: (Anonymous function) = lambda('some nonempty visible text', async (element: Element) => { const text = await (await element.getWebElement()).getText(); if (!text) { throw new Error('there is no visible nonempty text'); } return text; })

Defined in lib/queries.ts:55

Const tabs

tabs: (Anonymous function) = lambda('tabs (all window handles)', async (browser: Browser) => browser.driver.getAllWindowHandles())

Defined in lib/queries.ts:112

Const tabsNumber

tabsNumber: (Anonymous function) = lambda('tabs number', async (browser: Browser) => (await browser.driver.getAllWindowHandles()).length)

Defined in lib/queries.ts:115

Const text

text: (Anonymous function) = lambda('text', async (element: Element) => (await element.getWebElement()).getText())

Defined in lib/queries.ts:52

Const texts

texts: (Anonymous function) = lambda('texts', async (collection: Collection) => { const webelements = await collection.getWebElements(); return Promise.all(webelements.map(webElement => webElement.getText())); })

Defined in lib/queries.ts:79

Const title

title: (Anonymous function) = lambda('title', async (browser: Browser) => browser.driver.getTitle())

Defined in lib/queries.ts:89

Const url

url: (Anonymous function) = lambda('url', async (browser: Browser) => browser.driver.getCurrentUrl())

Defined in lib/queries.ts:86

Const value

value: (Anonymous function) = attribute('value')

Defined in lib/queries.ts:71

Const attribute

attribute(name: string): (Anonymous function)

Defined in lib/queries.ts:63

Parameters:

Name Type
name string

Returns: (Anonymous function)

Const tab

tab(index: number): (Anonymous function)

Defined in lib/queries.ts:95

Parameters:

Name Type
index number

Returns: (Anonymous function)


should

should:

Defined in lib/support/asserts/should.ts:18

Const match

match<T>(condition: Condition‹T›): (Anonymous function)

Defined in lib/support/asserts/should.ts:20

Type parameters:

T: Assertable

Parameters:

Name Type
condition Condition‹T›

Returns: (Anonymous function)

Type aliases

BrowserCondition

Ƭ BrowserCondition: ConditionBrowser

Defined in lib/conditions.ts:27


CollectionCondition

Ƭ CollectionCondition: ConditionCollection

Defined in lib/conditions.ts:26


ElementCondition

Ƭ ElementCondition: ConditionElement

Defined in lib/conditions.ts:25


Lambda

Ƭ Lambda: function

Defined in lib/wait.ts:24

Just a type alias to one-argument-async-function...

Type declaration:

▸ (entity: T): Promise‹R›

Parameters:

Name Type
entity T

OnEntityFailureHook

Ƭ OnEntityFailureHook: OnFailureHookBrowser | Element | Collection

Defined in lib/configuration.ts:31

A one place to configure everything. There is no separate Browser, Element or Collection configurations. All corresponding options live here, in Configuration.* It was implemented like this to stay KISS and simplify implementation. Enjoy;)


OnFailureHook

Ƭ OnFailureHook: function

Defined in lib/wait.ts:198

Type declaration:

▸ (failure: Error, entity: T): Promise‹void | Error

Parameters:

Name Type
failure Error
entity T

Variables

isAbsoluteUrl

isAbsoluteUrl: isAbsoluteUrl

Defined in lib/browser.ts:26

Functions

lambda

lambda<F>(toString: string, fn: F): F

Defined in lib/utils/index.ts:17

Type parameters:

F

Parameters:

Name Type
toString string
fn F

Returns: F


Const toString

toString<O>(obj: O): string

Defined in lib/utils/index.ts:22

Type parameters:

O

Parameters:

Name Type
obj O

Returns: string