Search in sources :

Example 16 with VerificationException

use of com.axway.ats.uiengine.exceptions.VerificationException 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)

Example 17 with VerificationException

use of com.axway.ats.uiengine.exceptions.VerificationException 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 18 with VerificationException

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

the class SwingTable method selectRow.

/**
 * Select table rows
 *
 * @param rows row numbers to select
 * @throws VerificationException if the element doesn't exist
 */
@PublicAtsApi
public void selectRow(int... rows) {
    new SwingElementState(this).waitToBecomeExisting();
    JTableFixture tableFixture = (JTableFixture) SwingElementLocator.findFixture(this);
    try {
        tableFixture.selectRows(rows);
    } 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

VerificationException (com.axway.ats.uiengine.exceptions.VerificationException)18 PublicAtsApi (com.axway.ats.common.PublicAtsApi)17 UiElementException (com.axway.ats.uiengine.exceptions.UiElementException)12 SwingElementState (com.axway.ats.uiengine.utilities.swing.SwingElementState)12 NotSupportedOperationException (com.axway.ats.uiengine.exceptions.NotSupportedOperationException)10 VerifyEqualityException (com.axway.ats.uiengine.exceptions.VerifyEqualityException)10 VerifyNotEqualityException (com.axway.ats.uiengine.exceptions.VerifyNotEqualityException)10 JTableFixture (org.fest.swing.fixture.JTableFixture)10 TableCell (org.fest.swing.data.TableCell)6 Page (com.gargoylesoftware.htmlunit.Page)4 ConfirmHandler (com.gargoylesoftware.htmlunit.ConfirmHandler)2 JTabbedPaneFixture (org.fest.swing.fixture.JTabbedPaneFixture)2 JTableHeaderFixture (org.fest.swing.fixture.JTableHeaderFixture)2 UiElementProperties (com.axway.ats.uiengine.elements.UiElementProperties)1 RealHtmlAlert (com.axway.ats.uiengine.elements.html.realbrowser.RealHtmlAlert)1 RealHtmlConfirm (com.axway.ats.uiengine.elements.html.realbrowser.RealHtmlConfirm)1 RealHtmlPrompt (com.axway.ats.uiengine.elements.html.realbrowser.RealHtmlPrompt)1 MobileOperationException (com.axway.ats.uiengine.exceptions.MobileOperationException)1 ExpectedAlert (com.axway.ats.uiengine.internal.realbrowser.ExpectedAlert)1 ExpectedConfirm (com.axway.ats.uiengine.internal.realbrowser.ExpectedConfirm)1