Praman — Agent-First SAP UI5 Test Automation Plugin - v1.2.0
    Preparing search index...

    Interface FioriElementsFixture

    Composite fixture interface for Fiori Elements testing.

    Composes List Report, Object Page, FE table helpers, and FE list helpers into a single fixture for end-to-end Fiori Elements test scenarios.

    test('filter and navigate', async ({ fe }) => {
    await fe.listReport.setFilter('Status', 'Active');
    await fe.listReport.search();
    await fe.listReport.navigateToItem(0);
    const title = await fe.objectPage.getHeaderTitle();
    expect(title).toBeDefined();
    });
    interface FioriElementsFixture {
        list: {
            clickItem: (listId: string, index: number) => Promise<void>;
            findItemByTitle: (listId: string, title: string) => Promise<number>;
            getItemCount: (listId: string) => Promise<number>;
            getItemTitle: (listId: string, index: number) => Promise<string>;
            selectItem: (
                listId: string,
                index: number,
                selected: boolean,
            ) => Promise<void>;
        };
        listReport: {
            clearFilters: () => Promise<void>;
            getFilterBar: () => Promise<string>;
            getFilterValue: (fieldName: string) => Promise<string>;
            getTable: () => Promise<string>;
            getVariants: () => Promise<readonly string[]>;
            navigateToItem: (rowIndex: number) => Promise<void>;
            search: () => Promise<void>;
            selectVariant: (name: string) => Promise<void>;
            setFilter: (fieldName: string, value: string) => Promise<void>;
        };
        objectPage: ObjectPageFixture;
        table: {
            clickRow: (tableId: string, rowIndex: number) => Promise<void>;
            findRow: (
                tableId: string,
                values: Readonly<Record<string, string>>,
            ) => Promise<number>;
            getCellValue: (
                tableId: string,
                rowIndex: number,
                columnName: string,
            ) => Promise<string>;
            getColumnNames: (tableId: string) => Promise<readonly string[]>;
            getRowCount: (tableId: string) => Promise<number>;
        };
    }
    Index

    Properties

    list: {
        clickItem: (listId: string, index: number) => Promise<void>;
        findItemByTitle: (listId: string, title: string) => Promise<number>;
        getItemCount: (listId: string) => Promise<number>;
        getItemTitle: (listId: string, index: number) => Promise<string>;
        selectItem: (
            listId: string,
            index: number,
            selected: boolean,
        ) => Promise<void>;
    }

    FE list helper operations.

    Type Declaration

    • ReadonlyclickItem: (listId: string, index: number) => Promise<void>

      Clicks a list item by index.

    • ReadonlyfindItemByTitle: (listId: string, title: string) => Promise<number>

      Finds a list item index by its title text.

    • ReadonlygetItemCount: (listId: string) => Promise<number>

      Returns the number of items in a list.

    • ReadonlygetItemTitle: (listId: string, index: number) => Promise<string>

      Returns the title text of a list item by index.

    • ReadonlyselectItem: (listId: string, index: number, selected: boolean) => Promise<void>

      Selects or deselects a list item by index.

    listReport: {
        clearFilters: () => Promise<void>;
        getFilterBar: () => Promise<string>;
        getFilterValue: (fieldName: string) => Promise<string>;
        getTable: () => Promise<string>;
        getVariants: () => Promise<readonly string[]>;
        navigateToItem: (rowIndex: number) => Promise<void>;
        search: () => Promise<void>;
        selectVariant: (name: string) => Promise<void>;
        setFilter: (fieldName: string, value: string) => Promise<void>;
    }

    List Report operations — filter bar, search, variant management.

    Type Declaration

    • ReadonlyclearFilters: () => Promise<void>

      Clears all active filters.

    • ReadonlygetFilterBar: () => Promise<string>

      Returns the filter bar ID.

    • ReadonlygetFilterValue: (fieldName: string) => Promise<string>

      Returns the current value of a filter field.

    • ReadonlygetTable: () => Promise<string>

      Returns the List Report table ID.

    • ReadonlygetVariants: () => Promise<readonly string[]>

      Returns all available variant names.

    • ReadonlynavigateToItem: (rowIndex: number) => Promise<void>

      Navigates to a table row by its index.

    • Readonlysearch: () => Promise<void>

      Clicks the Search/Go button on the filter bar.

    • ReadonlyselectVariant: (name: string) => Promise<void>

      Selects a variant by name.

    • ReadonlysetFilter: (fieldName: string, value: string) => Promise<void>

      Sets a filter field to a value and triggers the filter.

    objectPage: ObjectPageFixture

    Object Page operations.

    table: {
        clickRow: (tableId: string, rowIndex: number) => Promise<void>;
        findRow: (
            tableId: string,
            values: Readonly<Record<string, string>>,
        ) => Promise<number>;
        getCellValue: (
            tableId: string,
            rowIndex: number,
            columnName: string,
        ) => Promise<string>;
        getColumnNames: (tableId: string) => Promise<readonly string[]>;
        getRowCount: (tableId: string) => Promise<number>;
    }

    FE table helper operations.

    Type Declaration

    • ReadonlyclickRow: (tableId: string, rowIndex: number) => Promise<void>

      Clicks a table row by index.

    • ReadonlyfindRow: (tableId: string, values: Readonly<Record<string, string>>) => Promise<number>

      Finds a row index matching the given column-value pairs.

    • ReadonlygetCellValue: (tableId: string, rowIndex: number, columnName: string) => Promise<string>

      Returns a cell value by row index and column name.

    • ReadonlygetColumnNames: (tableId: string) => Promise<readonly string[]>

      Returns all column names for a table.

    • ReadonlygetRowCount: (tableId: string) => Promise<number>

      Returns the number of rows in a table.