Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
DomainGrid.java 1.56 KiB
package pages.domain;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;
import pages.components.grid.BasicGrid;

import java.util.ArrayList;
import java.util.List;

public class DomainGrid extends BasicGrid {
	public DomainGrid(WebDriver driver, WebElement container) {
		super(driver, container);
	}

	private By cellSelector = By.tagName("datatable-body-cell");

	public List<DomainRow> getRowsInfo() {
		log.info("getting all row info");
		List<DomainRow> rowInfos = new ArrayList<>();

		for (WebElement gridRow : gridRows) {
			List<WebElement> cells = gridRow.findElements(cellSelector);

			DomainRow row = new DomainRow();

			for (int i = 0; i < headerTxt.size(); i++) {
				switch (headerTxt.get(i)) {
					case "Domain code":
						row.setDomainCode(cells.get(i).getText().trim());
						break;
					case "SML Domain":
						row.setSmlDomain(cells.get(i).getText().trim());
						break;
					case "Signature CertAlias":
						row.setSignatureCertAlias(cells.get(i).getText().trim());
						break;
					case "SML SMP Id":
						row.setSmlSmpID(cells.get(i).getText().trim());
						break;
				}

			}

			rowInfos.add(row);
		}

		return rowInfos;
	}
	public void mouseHoverOnDomainCode(int rowNumber)
	{
		WebElement element = driver.findElement(By.cssSelector(".datatable-row-wrapper:nth-child(" + rowNumber + ") .datatable-body-cell:nth-child(1) .datatable-body-cell-label span"));
		Actions action = new Actions(driver);
		action.moveToElement(element).build().perform();
	}

}