Class: DataGridProDriver
@atomic-testing/component-driver-mui-v5.DataGridProDriver
Driver for Material UI v5 DataGridPro component. V5 DataGridPro component does not support data-testid, to use data-testid to locate the component, you need to put the data-testid on the parent element of the grid
See
https://v5.mui.com/x/react-data-grid/
Hierarchy
-
ComponentDriver
<typeofparts
>↳
DataGridProDriver
Constructors
constructor
• new DataGridProDriver(locator
, interactor
, option?
): DataGridProDriver
Parameters
Name | Type |
---|---|
locator | PartLocator |
interactor | Interactor |
option? | Partial <IComponentDriverOption <>> |
Returns
Overrides
ComponentDriver<typeof parts>.constructor
Defined in
packages/component-driver-mui-v5/src/components/datagrid/DataGridProDriver.ts:38
Properties
commutableOption
• Readonly
commutableOption: IComponentDriverOption
<{ headerRow
: { driver
: typeof DataGridHeaderRowDriver
= DataGridHeaderRowDriver; locator
: PartLocator
} ; loading
: { driver
: typeof HTMLElementDriver
= HTMLElementDriver; locator
: CssLocator
} }>
Option passed to the constructor includes both universal options which can be shared across all component driver tree, and component specific options which are only applicable to the component.
Commutable option is the option that can be shared across all component driver tree.
Inherited from
ComponentDriver.commutableOption
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:19
interactor
• Readonly
interactor: Interactor
Inherited from
ComponentDriver.interactor
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:10
Accessors
driverName
• get
driverName(): string
Returns
string
Overrides
ComponentDriver.driverName
Defined in
packages/component-driver-mui-v5/src/components/datagrid/DataGridProDriver.ts:157
locator
• get
locator(): PartLocator
Return the locator of the component
Returns
PartLocator
Inherited from
ComponentDriver.locator
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:50
parts
• get
parts(): ScenePartDriver
<T
>
Return driver instance of all the named parts
Returns
ScenePartDriver
<T
>
Inherited from
ComponentDriver.parts
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:46
Methods
click
▸ click(option?
): Promise
<void
>
Parameters
Name | Type |
---|---|
option? | Partial <ClickOption > |
Returns
Promise
<void
>
Inherited from
ComponentDriver.click
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:74
enforcePartExistence
▸ enforcePartExistence(partName
): Promise
<void
>
Check the specified parts' existences, and throw MissPartError if any of the part is found not existence. Existence is defined by the part's existence in the DOM regardless of its visibility on the screen
Parameters
Name | Type | Description |
---|---|---|
partName | "headerRow" | "loading" | readonly ("headerRow" | "loading" )[] | Single or array of the names of the parts to be enforced |
Returns
Promise
<void
>
Inherited from
ComponentDriver.enforcePartExistence
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:56
exists
▸ exists(): Promise
<boolean
>
Whether the component exists/attached to the DOM
Returns
Promise
<boolean
>
true if the component is attached to the DOM, false otherwise
Inherited from
ComponentDriver.exists
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:73
focus
▸ focus(option?
): Promise
<void
>
Parameters
Name | Type |
---|---|
option? | Partial <FocusOption > |
Returns
Promise
<void
>
Inherited from
ComponentDriver.focus
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:83
getAttribute
▸ getAttribute(attributeName
): Promise
<Optional
<string
>>
Parameters
Name | Type |
---|---|
attributeName | string |
Returns
Promise
<Optional
<string
>>
Inherited from
ComponentDriver.getAttribute
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:68
getCell
▸ getCell<DriverT
>(query
, driverClass?
): Promise
<null
| DriverT
>
Get the cell driver for the cell, if the cell does not exist, return null The cell driver is default to HTMLElementDriver, you can specify a different driver class
Type parameters
Name | Type |
---|---|
DriverT | extends ComponentDriver <> |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
query | DataGridCellQuery | undefined | The query to locate the cell |
driverClass | typeof ComponentDriver | HTMLElementDriver | Optional, the driver class to use for the cell, default to HTMLElementDriver |
Returns
Promise
<null
| DriverT
>
Defined in
packages/component-driver-mui-v5/src/components/datagrid/DataGridProDriver.ts:122
getCellText
▸ getCellText(query
): Promise
<string
>
Get the text content of the cell, if the cell does not exist, throw an error
Parameters
Name | Type | Description |
---|---|---|
query | DataGridCellQuery | The query to locate the cell |
Returns
Promise
<string
>
Defined in
packages/component-driver-mui-v5/src/components/datagrid/DataGridProDriver.ts:146
getColumnCount
▸ getColumnCount(): Promise
<number
>
The number of columns currently displayed in the data grid, note that data grid pro uses virtualize rendering, therefore the column count heavily depends on the viewport size
Returns
Promise
<number
>
The number of columns currently displayed in the data grid
Defined in
packages/component-driver-mui-v5/src/components/datagrid/DataGridProDriver.ts:57
getHeaderText
▸ getHeaderText(): Promise
<string
[]>
The array text of the header row, note that columns not shown in the viewport may not be included because of virtualize rendering
Returns
Promise
<string
[]>
The array of text of the header row
Defined in
packages/component-driver-mui-v5/src/components/datagrid/DataGridProDriver.ts:66
getMissingPartNames
▸ getMissingPartNames(partName
): Promise
<readonly ("headerRow"
| "loading"
)[]>
Get the names of parts not in the DOM
Parameters
Name | Type | Description |
---|---|---|
partName | "headerRow" | "loading" | readonly ("headerRow" | "loading" )[] | Single or array of the names of the parts to be examined |
Returns
Promise
<readonly ("headerRow"
| "loading"
)[]>
Inherited from
ComponentDriver.getMissingPartNames
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:62
getRow
▸ getRow(rowIndex
): Promise
<null
| DataGridHeaderRowDriver
>
Return the row driver for the row at the specified index, if the row does not exist, return null
Parameters
Name | Type |
---|---|
rowIndex | number |
Returns
Promise
<null
| DataGridHeaderRowDriver
>
Defined in
packages/component-driver-mui-v5/src/components/datagrid/DataGridProDriver.ts:91
getRowCount
▸ getRowCount(): Promise
<number
>
The number of rows currently displayed in the data grid, note that data grid pro uses virtualize rendering, therefore the row count heavily depends on the viewport size
Returns
Promise
<number
>
The number of columns currently displayed in the data grid
Defined in
packages/component-driver-mui-v5/src/components/datagrid/DataGridProDriver.ts:76
getRowText
▸ getRowText(rowIndex
): Promise
<string
[]>
The array text of the specified row, note that columns not shown in the viewport may not be included because of virtualize rendering
Parameters
Name | Type | Description |
---|---|---|
rowIndex | number | The index of the row |
Returns
Promise
<string
[]>
The array of text of the specified row
Defined in
packages/component-driver-mui-v5/src/components/datagrid/DataGridProDriver.ts:106
getText
▸ getText(): Promise
<Optional
<string
>>
Get the combined text content of the component
Returns
Promise
<Optional
<string
>>
If the component exists and has content, it should return the text or otherwise undefined
Inherited from
ComponentDriver.getText
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:67
hover
▸ hover(option?
): Promise
<void
>
Parameters
Name | Type |
---|---|
option? | Partial <HoverOption > |
Returns
Promise
<void
>
Inherited from
ComponentDriver.hover
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:75
isVisible
▸ isVisible(): Promise
<boolean
>
Whether the component is visible. Visibility is defined
that the component does not have the CSS property display: none
,
visibility: hidden
, or opacity: 0
. However this does not
check wether the component is within the viewport.
Returns
Promise
<boolean
>
true if the component is visible, false otherwise
Inherited from
ComponentDriver.isVisible
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:92
mouseDown
▸ mouseDown(option?
): Promise
<void
>
Parameters
Name | Type |
---|---|
option? | Partial <MouseDownOption > |
Returns
Promise
<void
>
Inherited from
ComponentDriver.mouseDown
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:77
mouseEnter
▸ mouseEnter(option?
): Promise
<void
>
Parameters
Name | Type |
---|---|
option? | Partial <MouseEnterOption > |
Returns
Promise
<void
>
Inherited from
ComponentDriver.mouseEnter
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:81
mouseLeave
▸ mouseLeave(option?
): Promise
<void
>
Parameters
Name | Type |
---|---|
option? | Partial <MouseLeaveOption > |
Returns
Promise
<void
>
Inherited from
ComponentDriver.mouseLeave
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:82
mouseMove
▸ mouseMove(option?
): Promise
<void
>
Parameters
Name | Type |
---|---|
option? | Partial <MouseMoveOption > |
Returns
Promise
<void
>
Inherited from
ComponentDriver.mouseMove
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:76
mouseOut
▸ mouseOut(option?
): Promise
<void
>
Parameters
Name | Type |
---|---|
option? | Partial <MouseOutOption > |
Returns
Promise
<void
>
Inherited from
ComponentDriver.mouseOut
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:80
mouseOver
▸ mouseOver(option?
): Promise
<void
>
Parameters
Name | Type |
---|---|
option? | Partial <HoverOption > |
Returns
Promise
<void
>
Inherited from
ComponentDriver.mouseOver
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:79
mouseUp
▸ mouseUp(option?
): Promise
<void
>
Parameters
Name | Type |
---|---|
option? | Partial <MouseUpOption > |
Returns
Promise
<void
>
Inherited from
ComponentDriver.mouseUp
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:78
overriddenParentLocator
▸ overriddenParentLocator(): Optional
<PartLocator
>
Usually this should be undefined as the component driver corresponds to a component nested inside the parent DOM, thus the driver's locator would automatically chain with its parent's locator.
When the component is rendered outside the parent's DOM, which usually happens when the component is a modal or popup, supply the PartLocator on how to locate the component with the component's own locator.
Caution of usage: this function is called before the construction of the driver, so it should not use any instance properties
Returns
Optional
<PartLocator
>
Inherited from
ComponentDriver.overriddenParentLocator
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:30
overrideLocatorRelativePosition
▸ overrideLocatorRelativePosition(): Optional
<LocatorRelativePosition
>
Usually this should be undefined when the locator is defined by the ScenePart, thus it reflects the natural relative position of the component
However, in some implementation such as MUI v5 dialog, the actual dialog DOM is rendered outside the parent DOM, and the selector is "siblings", by defining this function, it allows the driver to have the knowledge of the actual relative position instead of offloading the knowledge to the consumer.
Caution of usage: this function is called before the construction of the driver, so it should not use any instance properties
Returns
Optional
<LocatorRelativePosition
>
Inherited from
ComponentDriver.overrideLocatorRelativePosition
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:42
waitForLoading
▸ waitForLoading(): Promise
<void
>
Returns
Promise
<void
>
Defined in
packages/component-driver-mui-v5/src/components/datagrid/DataGridProDriver.ts:45
waitUntil
▸ waitUntil(option?
): Promise
<void
>
Wait until the component is in the expected state such as the component's visibility or existence. If the component has not reached the expected state within the timeout, it will throw an error.
By default it waits until the component is attached to the DOM within 30 seconds.
Parameters
Name | Type | Description |
---|---|---|
option? | Partial <Readonly <WaitForOption >> | The option to configure the wait behavior |
Returns
Promise
<void
>
Inherited from
ComponentDriver.waitUntil
Defined in
packages/core/build/src/drivers/ComponentDriver.d.ts:104