55 lines
2.2 KiB
C#
55 lines
2.2 KiB
C#
using ESuite.UI.E2E.Helpers;
|
|
using OpenQA.Selenium;
|
|
|
|
namespace ESuite.UI.E2E.Pages
|
|
{
|
|
public class AddFormTemplatePage
|
|
{
|
|
private readonly IWebDriver driver;
|
|
|
|
// Constructor to initialize the driver
|
|
public AddFormTemplatePage(IWebDriver driver)
|
|
{
|
|
this.driver = driver;
|
|
}
|
|
|
|
// Page elements
|
|
public static By InsertFieldButton => By.XPath("//button/span[text()='Insert Field']");
|
|
public static By CustomFieldDropdownItem(string? name) => By.XPath($"//span[contains(@class,'ck-button__label')][text()='{name}']");
|
|
public static By DefinitionTextBox => By.XPath("//div[contains(@class,'ck-editor__editable')][@role='textbox']");
|
|
public static By InsertTableButton => By.XPath("//button[@data-cke-tooltip-text='Insert table']");
|
|
public static By InsertTableDropdownGrid => By.ClassName("ck-insert-table-dropdown__grid");
|
|
public static By CellTextbox(int row, int column) => By.XPath($"//div[@role='textbox']//figure/table/tbody/tr[{row}]/td[{column}]/span");
|
|
public static By FormTemplateVersionByName(string name) => By.XPath($"//td[text()='{name}']/following-sibling::td");
|
|
|
|
// Page actions
|
|
public static void CreateTableViaGrid(int row, int column)
|
|
{
|
|
By coordinates = By.XPath($"//button[@data-row='{row}'][@data-column='{column}']");
|
|
|
|
I.Click(InsertTableButton);
|
|
I.WaitForVisible(InsertTableDropdownGrid);
|
|
I.Click(coordinates);
|
|
|
|
}
|
|
|
|
public static void ChooseCustomField(string? customField, int row, int column)
|
|
{
|
|
I.Click(CellTextbox(row, column));
|
|
I.Click(InsertFieldButton);
|
|
I.Click(CustomFieldDropdownItem(customField));
|
|
}
|
|
|
|
public static void FillFieldTextInForm(string text, int row, int column)
|
|
{
|
|
I.Click(CellTextbox(row, column));
|
|
I.FillField(CellTextbox(row, column), text);
|
|
}
|
|
|
|
public static int GetFormVersionTemplateByName(string name)
|
|
{
|
|
var version = I.GetTextFromElement(FormTemplateVersionByName(name));
|
|
return int.Parse(version);
|
|
}
|
|
}
|
|
} |