Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Select Git revision
  • 4e6a3357490ce854b6604775881818d6058aad5f
  • development default
  • release/5.1.x
  • feature/EDELIVERY-15382-rest-api-jwt-authentication-for-dynamic-discovery-client
  • feature/EDELIVERY-13760-translate-server-side-error-messages
  • bugfix/EDELIVERY-14172-domismp-accepts-requests-with-wrong-domain-header-value
  • EDELIVERY-15372-upgrade-libraries-and-plugins-and-update-httpclient-to-httpclient5
  • EDELIVERY-15377-migrate-to-angular-20
  • bugfix/EDELIVERY-14196-select-domain-select-resource-dropdown-should-be-order-alphabetically
  • feature/EDELIVERY-12753-sml-integration-migration-to-different-smp
  • feature/EDELIVERY-13757-extend-session-dialog-should-have-an-active-counter
  • EDELIVERY-15144-sql-update
  • bugfix/EDELIVERY-14326-ui-edit-resource-filters
  • feature/EDELIVERY-15144-domismp-system-notification-generalize-time-expiration-alerts
  • bugfix/EDELIVERY-15102-alert-is-not-appearing-when-adding-duplicated-certificate
  • bugfix/EDELIVERY-15203-small-left-grid-shows-no-data-found-for-1-2-seconds-before-loading-the-data
  • EDELIVERY-15219-search-filter-with-understore-char-does-not-work
  • bugfix/EDELIVERY-15226-certificates-error-when-trying-to-delete-certificates
  • bugfix/EDELIVERY-15224-error-when-trying-to-update-info-from-profile-page
  • bugfix/EDELIVERY-15225-emails-are-not-sent-in-domismp
  • feature/EDELIVERY-12746-external-secret-sharing-services-as-vaults
  • 5.1.1
  • 5.1
  • 5.1-TEST
  • 5.1-RC1
  • 5.0.1
  • 5.0
  • 5.0-RC1
  • 4.2
  • 4.2-RC1
  • 4.1.2
  • 4.1.1
  • 4.1.0
  • 4.1.0-RC1
  • 4.0.0
  • 4.0.0-RC1
  • 3.0.2
  • 3.0.1
  • 3.0.0
39 results

ServiceGroupGrid.java

Blame
  • user avatar
    Catalin QA authored
    604a1e67
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    ServiceGroupGrid.java 2.52 KiB
    package pages.service_groups;
    
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.interactions.Actions;
    import org.openqa.selenium.support.FindBy;
    import org.openqa.selenium.support.PageFactory;
    import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory;
    import pages.components.baseComponents.PageComponent;
    import utils.PROPERTIES;
    
    import java.lang.reflect.Constructor;
    import java.util.ArrayList;
    import java.util.List;
    
    public class ServiceGroupGrid extends PageComponent {
    
    	public ServiceGroupGrid(WebDriver driver, WebElement container) {
    		super(driver);
    		PageFactory.initElements( new AjaxElementLocatorFactory(container, PROPERTIES.TIMEOUT) , this);
    
    		waitForRowsToLoad();
    	}
    
    	@FindBy(className = "datatable-header-cell-label")
    	List<WebElement> headers;
    
    	@FindBy(className = "datatable-row-wrapper")
    	List<WebElement> rowWrappers;
    
    	public List<ServiceGroupRow> getRows() {
    		log.info("getting row info");
    		List<ServiceGroupRow> rows = new ArrayList<>();
    
    		for (WebElement rowWrapper : rowWrappers) {
    			rows.add(new ServiceGroupRow(driver, rowWrapper));
    		}
    
    		return rows;
    	}
    
    	public boolean isLoaded(){
    		return headers.size() > 0;
    	}
    
    	public void doubleClickRow(int rowNumber) {
    		log.info("double clicking row ... " + rowNumber);
    		waitForXMillis(500);
    		if(rowNumber>=rowWrappers.size()){return ;}
    		waitForElementToBeClickable(rowWrappers.get(rowNumber));
    		Actions action = new Actions(driver);
    		action.doubleClick(rowWrappers.get(rowNumber)).perform();
    		waitForXMillis(500);
    	}
    
    	public void selectRow(int rowNumber) {
    		log.info("clicking row ... " + rowNumber);
    		waitForXMillis(500);
    		if(rowNumber>=rowWrappers.size()){return ;}
    		rowWrappers.get(rowNumber).click();
    		waitForXMillis(500);
    	}
    
    	public List<String> getHeaders(){
    		List<String> stHeaders = new ArrayList<>();
    		for (WebElement header : headers) {
    			stHeaders.add(header.getText().trim());
    		}
    		return stHeaders;
    	}
    
    	public int getRowsNo(){
    		return rowWrappers.size();
    	}
    
    
    	public <T extends ServiceGroupRow> ArrayList<T> getRowsAs(Class<T> expectedType){
    		log.info("getting rows!!!");
    		ArrayList<T> toReturn = new ArrayList<T>();
    
    		for (int i = 0; i < rowWrappers.size(); i++) {
    			Constructor<T> constructor = null;
    			T obj = null;
    			try {
    				constructor = expectedType.getDeclaredConstructor(WebDriver.class, WebElement.class);
    				obj = constructor.newInstance(driver, rowWrappers.get(i));
    			} catch (Exception e) {
    				e.printStackTrace();
    			}
    			toReturn.add(obj);
    		}
    		return toReturn;
    	}
    
    
    
    }