Search in sources :

Example 11 with UiElementException

use of com.axway.ats.uiengine.exceptions.UiElementException in project ats-framework by Axway.

the class SwingTabbedPane method selectTabUsingSubElement.

/**
     * Select tab by title using SubElement described in the map file. The required property is 'title'
     *
     * @param mapId the sub-element mapID. This element must have property 'title'
     * @throws VerificationException if the table element doesn't exist
     */
@PublicAtsApi
public void selectTabUsingSubElement(String mapId) {
    new SwingElementState(this).waitToBecomeExisting();
    try {
        String elementMapId = properties.getInternalProperty(UiElementProperties.MAP_ID_INTERNAL_PARAM);
        if (elementMapId == null) {
            throw new UiElementException("The element must be in the MAP file", this);
        }
        UiElementProperties elProperties = ElementsMap.getInstance().getSubElementProperties(elementMapId, mapId);
        String tabTitle = elProperties.getProperty("title");
        if (tabTitle == null) {
            throw new UiElementException("The Sub-Element doesn't have 'title' attribute, " + "which is required for tab selection.", this);
        }
        ((JTabbedPaneFixture) SwingElementLocator.findFixture(this)).selectTab(tabTitle);
    } catch (Exception e) {
        throw new UiElementException(e.getMessage(), this);
    }
}
Also used : SwingElementState(com.axway.ats.uiengine.utilities.swing.SwingElementState) UiElementProperties(com.axway.ats.uiengine.elements.UiElementProperties) UiElementException(com.axway.ats.uiengine.exceptions.UiElementException) JTabbedPaneFixture(org.fest.swing.fixture.JTabbedPaneFixture) UiElementException(com.axway.ats.uiengine.exceptions.UiElementException) VerificationException(com.axway.ats.uiengine.exceptions.VerificationException) PublicAtsApi(com.axway.ats.common.PublicAtsApi)

Example 12 with UiElementException

use of com.axway.ats.uiengine.exceptions.UiElementException in project ats-framework by Axway.

the class SwingTabbedPane method selectTabUsingSubElement.

/**
     * Select tab by title using sub-element properties. The required property is 'title'
     *
     * @param elementProperties the sub-element {@link UiElementProperties} which contains property 'title'
     * @throws VerificationException if the table element doesn't exist
     */
@PublicAtsApi
public void selectTabUsingSubElement(UiElementProperties elementProperties) {
    new SwingElementState(this).waitToBecomeExisting();
    try {
        String tabTitle = elementProperties.getProperty("title");
        if (tabTitle == null) {
            throw new UiElementException("The Sub-Element doesn't have 'title' attribute, " + "which is required for tab selection.", this);
        }
        ((JTabbedPaneFixture) SwingElementLocator.findFixture(this)).selectTab(tabTitle);
    } catch (Exception e) {
        throw new UiElementException(e.getMessage(), this);
    }
}
Also used : SwingElementState(com.axway.ats.uiengine.utilities.swing.SwingElementState) UiElementException(com.axway.ats.uiengine.exceptions.UiElementException) JTabbedPaneFixture(org.fest.swing.fixture.JTabbedPaneFixture) UiElementException(com.axway.ats.uiengine.exceptions.UiElementException) VerificationException(com.axway.ats.uiengine.exceptions.VerificationException) PublicAtsApi(com.axway.ats.common.PublicAtsApi)

Example 13 with UiElementException

use of com.axway.ats.uiengine.exceptions.UiElementException in project ats-framework by Axway.

the class SwingTable method rightClickCell.

/**
     * Right click on table cell
     *
     * @param row the row number
     * @param column the column number
     * @throws VerificationException if the table element doesn't exist
     */
@PublicAtsApi
public void rightClickCell(int row, int column) {
    new SwingElementState(this).waitToBecomeExisting();
    JTableFixture tableFixture = (JTableFixture) SwingElementLocator.findFixture(this);
    try {
        tableFixture.cell(new TableCell(row, column) {
        }).rightClick();
    } catch (Exception e) {
        throw new UiElementException(e.getMessage(), this);
    }
}
Also used : JTableFixture(org.fest.swing.fixture.JTableFixture) TableCell(org.fest.swing.data.TableCell) SwingElementState(com.axway.ats.uiengine.utilities.swing.SwingElementState) UiElementException(com.axway.ats.uiengine.exceptions.UiElementException) VerifyNotEqualityException(com.axway.ats.uiengine.exceptions.VerifyNotEqualityException) VerifyEqualityException(com.axway.ats.uiengine.exceptions.VerifyEqualityException) VerificationException(com.axway.ats.uiengine.exceptions.VerificationException) UiElementException(com.axway.ats.uiengine.exceptions.UiElementException) NotSupportedOperationException(com.axway.ats.uiengine.exceptions.NotSupportedOperationException) PublicAtsApi(com.axway.ats.common.PublicAtsApi)

Example 14 with UiElementException

use of com.axway.ats.uiengine.exceptions.UiElementException in project ats-framework by Axway.

the class SwingTable method getCellIndexesByValue.

/**
     * Get table cell coordinates by cell value
     *
     * @param value cell value to search for
     * @param isRegEx if the value is a regular expression
     * @return an {@link ArrayList} with cell coordinates(indexes) represented by arrays [ row, column ] which contains
     *  the searched value
     * @throws VerificationException if the table element doesn't exist
     */
@PublicAtsApi
public List<Integer[]> getCellIndexesByValue(String value, boolean isRegEx) {
    new SwingElementState(this).waitToBecomeExisting();
    List<Integer[]> results = new ArrayList<Integer[]>();
    JTableFixture tableFixture = (JTableFixture) SwingElementLocator.findFixture(this);
    try {
        if (value == null) {
            isRegEx = false;
        }
        Pattern regexPattern = null;
        if (isRegEx) {
            regexPattern = Pattern.compile(value);
        }
        for (int row = 0; row < tableFixture.target.getRowCount(); row++) {
            for (int column = 0; column < tableFixture.target.getColumnCount(); column++) {
                String cellValue = null;
                try {
                    cellValue = tableFixture.valueAt(new TableCell(row, column) {
                    });
                } catch (NullPointerException npe) {
                // valueAt() throws NPE if the cell is null
                }
                if (cellValue == null && value != null) {
                    continue;
                }
                if ((cellValue == null && value == null) || (isRegEx && regexPattern.matcher(cellValue).matches()) || (!isRegEx && cellValue.equals(value))) {
                    results.add(new Integer[] { row, column });
                }
            }
        }
    } catch (Exception e) {
        throw new UiElementException(e.getMessage(), this);
    }
    return results;
}
Also used : Pattern(java.util.regex.Pattern) JTableFixture(org.fest.swing.fixture.JTableFixture) TableCell(org.fest.swing.data.TableCell) SwingElementState(com.axway.ats.uiengine.utilities.swing.SwingElementState) ArrayList(java.util.ArrayList) UiElementException(com.axway.ats.uiengine.exceptions.UiElementException) VerifyNotEqualityException(com.axway.ats.uiengine.exceptions.VerifyNotEqualityException) VerifyEqualityException(com.axway.ats.uiengine.exceptions.VerifyEqualityException) VerificationException(com.axway.ats.uiengine.exceptions.VerificationException) UiElementException(com.axway.ats.uiengine.exceptions.UiElementException) NotSupportedOperationException(com.axway.ats.uiengine.exceptions.NotSupportedOperationException) PublicAtsApi(com.axway.ats.common.PublicAtsApi)

Example 15 with UiElementException

use of com.axway.ats.uiengine.exceptions.UiElementException in project ats-framework by Axway.

the class SwingTable method getSelectedRows.

/**
     * Get selected rows in the table
     *
     * @return an array with the selected rows
     * @throws VerificationException if the table element doesn't exist
     */
@PublicAtsApi
public int[] getSelectedRows() {
    new SwingElementState(this).waitToBecomeExisting();
    JTableFixture tableFixture = (JTableFixture) SwingElementLocator.findFixture(this);
    try {
        return tableFixture.component().getSelectedRows();
    } catch (Exception e) {
        throw new UiElementException(e.getMessage(), this);
    }
}
Also used : JTableFixture(org.fest.swing.fixture.JTableFixture) SwingElementState(com.axway.ats.uiengine.utilities.swing.SwingElementState) UiElementException(com.axway.ats.uiengine.exceptions.UiElementException) VerifyNotEqualityException(com.axway.ats.uiengine.exceptions.VerifyNotEqualityException) VerifyEqualityException(com.axway.ats.uiengine.exceptions.VerifyEqualityException) VerificationException(com.axway.ats.uiengine.exceptions.VerificationException) UiElementException(com.axway.ats.uiengine.exceptions.UiElementException) NotSupportedOperationException(com.axway.ats.uiengine.exceptions.NotSupportedOperationException) PublicAtsApi(com.axway.ats.common.PublicAtsApi)

Aggregations

UiElementException (com.axway.ats.uiengine.exceptions.UiElementException)18 PublicAtsApi (com.axway.ats.common.PublicAtsApi)16 SwingElementState (com.axway.ats.uiengine.utilities.swing.SwingElementState)16 VerificationException (com.axway.ats.uiengine.exceptions.VerificationException)13 NotSupportedOperationException (com.axway.ats.uiengine.exceptions.NotSupportedOperationException)11 JTableFixture (org.fest.swing.fixture.JTableFixture)11 VerifyEqualityException (com.axway.ats.uiengine.exceptions.VerifyEqualityException)10 VerifyNotEqualityException (com.axway.ats.uiengine.exceptions.VerifyNotEqualityException)10 TableCell (org.fest.swing.data.TableCell)7 ArrayList (java.util.ArrayList)2 JSpinnerFixture (org.fest.swing.fixture.JSpinnerFixture)2 JTabbedPaneFixture (org.fest.swing.fixture.JTabbedPaneFixture)2 JTableHeaderFixture (org.fest.swing.fixture.JTableHeaderFixture)2 HttpsClient (com.axway.ats.core.filetransfer.HttpsClient)1 UiElementProperties (com.axway.ats.uiengine.elements.UiElementProperties)1 File (java.io.File)1 URL (java.net.URL)1 Pattern (java.util.regex.Pattern)1 LocationUnavailableException (org.fest.swing.exception.LocationUnavailableException)1 JComboBoxFixture (org.fest.swing.fixture.JComboBoxFixture)1