//Dictionary<element name, XPath>

        private void initPage()
        {
            IArcliteWebElement confirmDelete = new ArcliteButton("Checklist Category Confirm Delete", "//a[@onclick='DeleteSupplier()']");
            IArcliteWebElement cancelDelete  = new ArcliteButton("Checklist Category Cancel Delete", "//a[@onclick='DeleteSupplier()']/parent::div/a/i[@class='fas fa-times-circle arc-fa-2x']");

            elementXpaths = new Dictionary <string, IArcliteWebElement>();

            search        = new KeyValuePair <string, IArcliteWebElement>("Suppliers Search", new ArcliteSearch("Suppliers Search", "//div[@id='tbSupplier_filter']/label/input", null));
            dataTable     = new KeyValuePair <string, IArcliteWebElement>("Suppliers Data Table", new ArcliteDataTable("Suppliers Data Table", search.Value, "//td[text()='", "']/parent::tr", "/td/a", confirmDelete, cancelDelete));
            add           = new KeyValuePair <string, IArcliteWebElement>("Suppliers Add", new ArcliteButton("Suppliers Add", "//a[@onclick='AddEditSupplier(0)']"));
            name          = new KeyValuePair <string, IArcliteWebElement>("Suppliers Name", new ArcliteTextBox("Suppliers Name", "//*[@id='txtNameSupplier']"));
            suppliersCode = new KeyValuePair <string, IArcliteWebElement>("Suppliers Item Type", new ArcliteTextBox("Suppliers Item Type", "//*[@id='SupplierCode']"));

            contactName     = new KeyValuePair <string, IArcliteWebElement>("Suppliers Contact Name", new ArcliteTextBox("Suppliers Contact Name", "//*[@id='ContactName']"));
            contactNumber   = new KeyValuePair <string, IArcliteWebElement>("Suppliers Contact Number", new ArcliteTextBox("Suppliers Contact Number", "//*[@id='ContactNumberPrimary']"));
            secondaryNumber = new KeyValuePair <string, IArcliteWebElement>("Suppliers Secondary Number", new ArcliteTextBox("Suppliers Secondary Number", "//*[@id='ContactNumberSecondary']"));
            email           = new KeyValuePair <string, IArcliteWebElement>("Suppliers Email", new ArcliteTextBox("Suppliers Email", "//*[@id='ContactEmail']"));
            address         = new KeyValuePair <string, IArcliteWebElement>("Suppliers Address", new ArcliteTextBox("Suppliers Address", "//*[@id='Address']"));

            notes          = new KeyValuePair <string, IArcliteWebElement>("Suppliers Notes", new ArcliteTextBox("Suppliers Notes", "//*[@id='Notes']"));
            personInCharge = new KeyValuePair <string, IArcliteWebElement>("Suppliers Person In Charge", new ArcliteSelect("Suppliers Person In Charge", "//label[@class='control-label'][text()='Person In Charge']/parent::div/div", "//select[@id='ddlPersonInCharge']", "//label[@class='control-label'][text()='Person In Charge']/parent::div/div/div/div/div/div[@data-value = '", "']"));
            description    = new KeyValuePair <string, IArcliteWebElement>("Suppliers Description", new ArcliteTextBox("Suppliers Description", "//*[@id='Description']"));
            save           = new KeyValuePair <string, IArcliteWebElement>("Suppliers Save", new ArcliteButton("Suppliers Save", "//button[@id='btnSave']"));
            cancel         = new KeyValuePair <string, IArcliteWebElement>("Suppliers Cancel", new ArcliteTextBox("Suppliers Cancel", "//button[@id='btnclose']"));
        }
        private void init()
        {
            IArcliteWebElement confirmDelete = new ArcliteButton("Checklist Category Confirm Delete", "//a[@onclick='DeleteInventoryItem()']");
            IArcliteWebElement cancelDelete  = new ArcliteButton("Checklist Category Cancel Delete", "//a[@onclick='DeleteInventoryItem()']/parent::div/a/i[@class='fas fa-times-circle arc-fa-2x']");

            elementXpaths = new Dictionary <string, IArcliteWebElement>();

            search            = new KeyValuePair <string, IArcliteWebElement>("Inventory Search", new ArcliteSearch("Inventory Search", "//div[@id='tbInventoryItemType_filter']/label/input", null));
            dataTable         = new KeyValuePair <string, IArcliteWebElement>("Inventory Data Table", new ArcliteDataTable("Inventory Data Table", search.Value, "//td[text()='", "']/parent::tr", "/td[@class=' details-control']", "//td[text()='", "']/parent::tr/td/button[@title='Delete']", confirmDelete, cancelDelete));
            add               = new KeyValuePair <string, IArcliteWebElement>("Inventory Add", new ArcliteButton("Inventory Add", "//i[@class='fa fa-plus arc-fa-2x']"));
            barcode           = new KeyValuePair <string, IArcliteWebElement>("Inventory Barcode", new ArcliteTextBox("Inventory Barcode", "//input[@id='txtNewItemCustomBarcode']"));
            inventoryItemType = new KeyValuePair <string, IArcliteWebElement>("Inventory Item Type", new ArcliteSelect("Inventory Item Type", "//div[@id='partialDdlItemType']/div/div/div[@class='fs-label']", "//select[@id='ddlItemTypeId']", "//div[@class='fs-option g0'] [@data-value = '", "']"));

            name         = new KeyValuePair <string, IArcliteWebElement>("Inventory Name", new ArcliteTextBox("Inventory Name", "//input[@id='txtSpecificItemName']"));
            heldQuantity = new KeyValuePair <string, IArcliteWebElement>("Inventory Held Quantity", new ArcliteTextBox("Inventory Held Quantity", "//*[@id='txtQuantity']"));
            unitCost     = new KeyValuePair <string, IArcliteWebElement>("Inventory Unit Cost", new ArcliteTextBox("Inventory Unit Cost", "//*[@id='txtUnitCost']"));
            currency     = new KeyValuePair <string, IArcliteWebElement>("Inventory Currency", new ArcliteSelect("Inventory Currency", "//label[text()='Currency']/parent::div/div/div/div", "//select[@id='ddlUnitTypes']", "//label[text()='Currency']/parent::div/div/div/div/div/div/div[@data-value='", "']"));
            supplier     = new KeyValuePair <string, IArcliteWebElement>("Inventory Supplier", new ArcliteSelect("Inventory Supplier", "//div[@id='partialDdlSupplier']", "//select[@id='ddlSupplierId']", "//div[@id='partialDdlSupplier']/div/div[@class='fs-dropdown']/div/div[@data-value = '", "']"));

            purchaseReceivedDate = new KeyValuePair <string, IArcliteWebElement>("Inventory Purchase Reveived Date", new ArcliteCalender("Inventory Purchase Reveived Date", "//div[@id='purchased-date-dtp']", "//input[@id='txtPurchasedDate']/parent::div/div/ul/li/div[@class='datepicker']/div[@class='datepicker-days']/table/thead/tr/th[@class='next']", "//tr/td[text()='1']"));
            location             = new KeyValuePair <string, IArcliteWebElement>("Inventory Location", new ArcliteSelect("Inventory Location", "//div[@id='partialDdlItemWarehouseadd']", "//select[@id='ddlWarehouse']", "//div[@id='partialDdlItemWarehouseadd']/div/div/div/div[@class='fs-option g0'][@data-value='", "']"));
            notes  = new KeyValuePair <string, IArcliteWebElement>("Inventory Notes", new ArcliteTextBox("Inventory Notes", "//textarea[@id='txtNotes']"));
            save   = new KeyValuePair <string, IArcliteWebElement>("Inventory Save", new ArcliteButton("Inventory Save", "//button[@id='btnSave']"));
            cancel = new KeyValuePair <string, IArcliteWebElement>("Inventory Cancel", new ArcliteTextBox("Inventory Cancel", "//button[@id='btnclose']"));
        }
        private void checkEntryFromTable(ArcliteDataTable element, InputVal wanted)
        {
            string text = wanted.getSelectedVal();

            IArcliteWebElement search = element._searchElement;

            search.accept(this, wanted);

            if (element._confirmDelete == null && element._cancelDelete == null)
            {
                IArcliteWebElement check = new ArcliteButton("", element._tableEntryFirst + text + element._tableEntrySecond);
                check.accept(this, new InputVal());
            }
            else if (element._expand == null)
            {
                IArcliteWebElement delete = new ArcliteButton("", element._tableEntryFirst + text + element._tableEntrySecond);
                delete.accept(this, new InputVal());
            }
            else if (element._expand != null)
            {
                IArcliteWebElement expand = new ArcliteButton("", element._tableEntryFirst + wanted.valTwo + element._tableEntrySecond + element._expand);
                expand.accept(this, new InputVal());
            }
            else
            {
                throw new ArgumentException("something is or is not null");
            }
        }
        /*
         * Performs a click on a button
         */

        void IActionsVisitor.visitButton(ArcliteButton element)
        {
            IWebElement e;

            try
            {
                e = wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath(element._elementXPath)));
            }
            catch (ElementNotVisibleException eve)
            {
                throw eve;
            }
            try
            {
                e.Click();
            }
            catch (ElementClickInterceptedException)
            {
                driver.ExecuteJavaScript("arguments[0].click();", e);
            }
            catch (StaleElementReferenceException)
            {
                driver.ExecuteJavaScript("arguments[0].click();", e);
            }
        }
        private void initPage()
        {
            IArcliteWebElement confirmDelete = new ArcliteButton("Checklist Category Confirm Delete", "//a[@onclick='DeletePersonnel()']");
            IArcliteWebElement cancelDelete  = new ArcliteButton("Checklist Category Cancel Delete", "//a[@title='Cancel']");

            elementXpaths = new Dictionary <string, IArcliteWebElement>();

            search    = new KeyValuePair <string, IArcliteWebElement>("Personnel Search", new ArcliteSearch("Personnel Search", "//div[@id='item_table_filter']/label/input", null));
            dataTable = new KeyValuePair <string, IArcliteWebElement>("Personnel Data Table", new ArcliteDataTable("Personnel Data Table", search.Value, "//table[@id='item_table']/tbody/tr/td[text()='", "']", "/parent::tr/td/button", confirmDelete, cancelDelete));
            add       = new KeyValuePair <string, IArcliteWebElement>("Personnel Add", new ArcliteButton("Personnel Add", "//a[@onclick='AddEditPersonnel(0)']"));
            userName  = new KeyValuePair <string, IArcliteWebElement>("Personnel User Name", new ArcliteTextBox("Personnel User Name", "//*[@id='txtusername']"));
            firstName = new KeyValuePair <string, IArcliteWebElement>("Personnel First Name", new ArcliteTextBox("Personnel First Name", "//*[@id='txtfirstname']"));

            lastName        = new KeyValuePair <string, IArcliteWebElement>("Personnel Last Name", new ArcliteTextBox("Personnel Last Name", "//*[@id='txtlastname']"));
            primaryPassword = new KeyValuePair <string, IArcliteWebElement>("Personnel Primary Password", new ArcliteTextBox("Personnel Primary Password", "//*[@id='txtPrimaryPassword']"));
            confirmPassword = new KeyValuePair <string, IArcliteWebElement>("Personnel Confirm Password", new ArcliteTextBox("Personnel Confirm Password", "//*[@id='txtConfirmPrimaryPassword']"));
            email           = new KeyValuePair <string, IArcliteWebElement>("Personnel Email", new ArcliteTextBox("Personnel Email", "//*[@id='txtPrimaryEmail']"));
            department      = new KeyValuePair <string, IArcliteWebElement>("Personnel Department", new ArcliteTextBox("Personnel Department", "//*[@id='select_departement']"));

            title         = new KeyValuePair <string, IArcliteWebElement>("Personnel Title", new ArcliteTextBox("Personnel Title", "//*[@id='txtposition']"));
            qualification = new KeyValuePair <string, IArcliteWebElement>("Personnel Qualification", new ArcliteSelect("Personnel Qualification", "//div[@id='partialDdlQualification']/div/div[@class='fs-label-wrap']", "//select[@id='select_qua']", "//div[@id='partialDdlQualification']/div/div/div/div[@data-value = '", "']"));
            role          = new KeyValuePair <string, IArcliteWebElement>("Personnel Role", new ArcliteSelect("Personnel Role", "//form[@id='add-update-personnel']/div/div/div/div/div[@class='fs-label-wrap']", "//select[@id='select_role']", "//*[@id='add-update-personnel']/div/div/div/div/div/div/div[@data-value = '", "']"));
            save          = new KeyValuePair <string, IArcliteWebElement>("Personnel Save", new ArcliteButton("Personnel Save", "//*[@id='btnSave'][@onclick='SaveUpdatePersonnel(0)']"));
            cancel        = new KeyValuePair <string, IArcliteWebElement>("Personnel Cancel", new ArcliteTextBox("Personnel Cancel", "//button[@id='btnclose']"));
        }
        //Dictionary<element name, XPath>
        private void initPage()
        {
            IArcliteWebElement confirmDelete = new ArcliteButton("Checklist Category Confirm Delete", "//a[@onclick='DeleteSupplier()']");
            IArcliteWebElement cancelDelete  = new ArcliteButton("Checklist Category Cancel Delete", "//a[@onclick='DeleteSupplier()']/parent::div/a/i[@class='fas fa-times-circle arc-fa-2x']");

            elementXpaths = new Dictionary <string, IArcliteWebElement>();

            addSalesOrder = new KeyValuePair <string, IArcliteWebElement>("New Sales Order", new ArcliteButton("New Sales Order", "//a[@id='add_sales_order']"));
            quotation     = new KeyValuePair <string, IArcliteWebElement>("Quotation #", new ArcliteTextBox("Quotation #", "//input[@id='quo-no']"));
            customer      = new KeyValuePair <string, IArcliteWebElement>("customer", new ArcliteSelect("Customer", "//span[@id='select2-customer-container']", "//select[@id='customer']"));
            order         = new KeyValuePair <string, IArcliteWebElement>("Order", new ArcliteTextBox("Order", "//input[@id='po-no']"));
            priority      = new KeyValuePair <string, IArcliteWebElement>("Priority", new ArcliteSelect("New Sales Order", null, "//select[@id='priority']"));

            requestedEndDate = new KeyValuePair <string, IArcliteWebElement>("Requested End Date", new ArcliteCalender("Requested End Date", "//input[@id='requested-end-date']",
                                                                                                                       "//div/ul/li/div[@class='datepicker']/div[@class='datepicker-days']/table/thead/tr/th[@class='next']", "//tr/td[text()='1']"));
            details         = new KeyValuePair <string, IArcliteWebElement>("Details", new ArcliteTextBox("Details", "//textarea[@id='detail']"));
            addJobs         = new KeyValuePair <string, IArcliteWebElement>("Add Job", new ArcliteButton("Add Job", "//div/button[text()='Columns']/parent::div/a/i"));
            jobNotes        = new KeyValuePair <string, IArcliteWebElement>("Job Notes", new ArcliteTextBox("Job Notes", "//textarea[@id='txt_NOTES']"));
            jobAddCheckList = new KeyValuePair <string, IArcliteWebElement>("Job Add CheckList", new ArcliteButton("Job Add CheckList", "//a[@onclick='GetChecklists(true)']"));

            jobAddWorkflow          = new KeyValuePair <string, IArcliteWebElement>("Job Add WorkFlow", new ArcliteButton("Job Add WorkFlow", "//a[@id='add_sales_order']"));
            jobSelectWorkflow       = new KeyValuePair <string, IArcliteWebElement>("Job Select Checklist", new ArcliteSelect("Job Select Checklist", "//span[@id='select2-workflows-container']", "//select[@id='workflows']"));
            jobFinishedGoodItemType = new KeyValuePair <string, IArcliteWebElement>("Job Finished Good Item Type", new ArcliteButton("Job Finished Good Item Type", "//div[@id='selected-items']"));
            jobDone   = new KeyValuePair <string, IArcliteWebElement>("Job Done", new ArcliteButton("Job Done", "//a[@id='add-wo']"));
            jobCancel = new KeyValuePair <string, IArcliteWebElement>("Job Cancel", new ArcliteButton("Job Cancel", "//a[@onclick='closeNav()']"));

            addChecklist    = new KeyValuePair <string, IArcliteWebElement>("Add Checklist", new ArcliteButton("Add Checklist", "//a[@onclick='GetChecklists(false)']"));
            checklistSearch = new KeyValuePair <string, IArcliteWebElement>("CheckList Search", new ArcliteSearch("CheckList Search", "//div[@id='tblChecklists_filter']/label/input", null));
            checkListTable  = new KeyValuePair <string, IArcliteWebElement>("Checklist Table", new ArcliteDataTable("Checklist Table", checklistSearch.Value,
                                                                                                                    "//table[@id='tblChecklists']/tbody/tr/td/span[normalize-space(text())='", "']", "/parent::td/parent::tr/td/div/label", null, null));
            checkListDone   = new KeyValuePair <string, IArcliteWebElement>("Checklist Done", new ArcliteButton("Checklist Done", "//a[@id='btnAddChecklists']"));
            checkListCancel = new KeyValuePair <string, IArcliteWebElement>("Checklist Cancel", new ArcliteButton("Checklist Cancel", "//div[@id='checklistMdl']/div/div/div/a[@id='close_sch_job_display_setting_close']"));

            confirmDelete = new ArcliteButton("Job Finished Good Item Type Confirm", "//a[@onclick='confirmSelectItems()']");
            cancelDelete  = new ArcliteButton("Job Finished Good Item Type Cancel", "//a[@onclick='cancelItemsSelect()']");

            jobFinishedGoodItemSearch = new KeyValuePair <string, IArcliteWebElement>("Job Finished Good Item Type Search", new ArcliteSearch("Job Finished Good Item Type Search", "//div[@id='table-parts-list_filter']/label/input", null));
            jobFinishedGoodItemTable  = new KeyValuePair <string, IArcliteWebElement>("Job Finished Good Item Type Table", new ArcliteDataTable("Job Finished Good Item Type Table", jobFinishedGoodItemSearch.Value, "//tr[@data-name='", "']", "/td/div/label", null, null));
            submit    = new KeyValuePair <string, IArcliteWebElement>("Submit", new ArcliteButton("Submit", "//button[@id='complete-so']"));
            saveDraft = new KeyValuePair <string, IArcliteWebElement>("Save Draft", new ArcliteButton("Save Draft", "//button[@id='save-draft']"));
            search    = new KeyValuePair <string, IArcliteWebElement>("Search", new ArcliteSearch("Search", "//input[@id='search_text']", "//a[@id='search']"));

            jobFinishedGoodItemOther    = new KeyValuePair <string, IArcliteWebElement>("Job Finished Good Item Type Other", new ArcliteButton("Job Finished Good Item Type Other", "//a[@onclick='otherParts()']"));
            jobFinishedGoodItemQuantity = new KeyValuePair <string, IArcliteWebElement>("Job Finished Good Item Type Quantity", new ArcliteTextBox("Job Finished Good Item Type Quantity", "//tr[@data-name='", "']/td/input"));
            jobFinishedGoodItemConfirm  = new KeyValuePair <string, IArcliteWebElement>("Job Finished Good Item Type Confirm", confirmDelete);
            jobFinishedGoodItemCancel   = new KeyValuePair <string, IArcliteWebElement>("Job Finished Good Item Type Cancel", cancelDelete);
            confirmDelete = new ArcliteButton("Sales Order Table Confirm", "//a[@id='confirm_sch_so_delete']");
            cancelDelete  = new ArcliteButton("Sales Order Table Cancel", "//a[@id='close_sch_so_delete']");
            dataTable     = new KeyValuePair <string, IArcliteWebElement>("Sales Order Table", new ArcliteDataTable("Sales Order Table", new ArcliteSearch("Sales Order Search", "//input[@id='search_text']", "//a[@id='search']"), "//td[text()='", "']", "/parent::tr/td/a[@title='Delete']/i", confirmDelete, cancelDelete));;

            id = new KeyValuePair <string, IArcliteWebElement>("Sales Order ID", new ArcliteTextBox("Sales Order ID", "//input[@id='so-name']"));
        }
        //Dictionary<element name, XPath>
        private void initPage()
        {
            IArcliteWebElement confirmDelete = new ArcliteButton("Checklist Category Confirm Delete", "//a[@onclick='DeleteAssetType()']");
            IArcliteWebElement cancelDelete  = new ArcliteButton("Checklist Category Cancel Delete", "//a[@onclick='DeleteAssetType()']/parent::div/a/i[@class='fas fa-times-circle arc-fa-2x']");

            elementXpaths = new Dictionary <string, IArcliteWebElement>();

            search      = new KeyValuePair <string, IArcliteWebElement>("Asset Type Manager Search", new ArcliteSearch("Asset Type Manager Search", "//div[@id='tblAssetTypeManagement_filter']/label/input", null));
            dataTable   = new KeyValuePair <string, IArcliteWebElement>("Asset Type Manager Data Table", new ArcliteDataTable("Asset Type Manager Data Table", search.Value, "//td[text()='", "']/parent::tr", "/td/button", confirmDelete, cancelDelete));
            add         = new KeyValuePair <string, IArcliteWebElement>("Asset Type Manager Add", new ArcliteButton("Asset Type Manager Add", "//a[@onclick='AddEditAssetType(0,0)']"));
            name        = new KeyValuePair <string, IArcliteWebElement>("Asset Type Manager Name", new ArcliteTextBox("Asset Type Manager Name", "//input[@id='AssetTypeName']"));
            description = new KeyValuePair <string, IArcliteWebElement>("Asset Type Manager Description", new ArcliteTextBox("Asset Type Manager Description", "//textarea[@id='AssetTypeDescription']"));

            save   = new KeyValuePair <string, IArcliteWebElement>("Asset Type Manager Save", new ArcliteButton("Asset Type Manager Save", "//button[@onclick='SaveUpdateAssetType(0)']"));
            cancel = new KeyValuePair <string, IArcliteWebElement>("Asset Type Manager Cancel", new ArcliteButton("Asset Type Manager Cancel", "//button[@id='btnclose']"));
        }
示例#8
0
        //Dictionary<element name, XPath>
        private void initPage()
        {
            IArcliteWebElement confirmDelete = new ArcliteButton("Checklist Category Confirm Delete", "//a[@onclick='DeleteUOM()']");
            IArcliteWebElement cancelDelete  = new ArcliteButton("Checklist Category Cancel Delete", "//a[@onclick='DeleteUOM()']/parent::div/a/i[@class='fas fa-times-circle arc-fa-2x']");

            elementXpaths = new Dictionary <string, IArcliteWebElement>();

            search    = new KeyValuePair <string, IArcliteWebElement>("Unit Search", new ArcliteSearch("Unit Search", "//div[@id='tbl_UOMUnitlist_filter']/label/input", null));
            dataTable = new KeyValuePair <string, IArcliteWebElement>("Unit Data Table", new ArcliteDataTable("Unit Data Table", search.Value, "//td[text()='", "']/parent::tr", "/td/button", confirmDelete, cancelDelete));
            add       = new KeyValuePair <string, IArcliteWebElement>("Unit Add", new ArcliteButton("Unit Add", "//a[@onclick='AddEditUOM(0)']"));
            name      = new KeyValuePair <string, IArcliteWebElement>("Unit Name", new ArcliteTextBox("Unit Name", "//input[@id='txtNameUOM']"));
            symbol    = new KeyValuePair <string, IArcliteWebElement>("Unit Symbol", new ArcliteTextBox("Unit Symbol", "//input[@id='txtSymbolUOM']"));

            save   = new KeyValuePair <string, IArcliteWebElement>("Unit Save", new ArcliteButton("Unit Save", "//button[@id='btnSave'][@onclick='SaveUpdateUOM(0)']"));
            cancel = new KeyValuePair <string, IArcliteWebElement>("Unit Cancel", new ArcliteButton("Unit Cancel", "//button[@id='btnclose']"));
        }
示例#9
0
        //Dictionary<element name, XPath>
        private void initPage()
        {
            IArcliteWebElement confirmDelete = new ArcliteButton("Checklist Category Confirm Delete", "//a[@onclick='DeleteWatehouseById()']");
            IArcliteWebElement cancelDelete  = new ArcliteButton("Checklist Category Cancel Delete", "//a[@onclick='DeleteWatehouseById()']/parent::div/a/i[@class='fas fa-times-circle arc-fa-2x']");

            elementXpaths = new Dictionary <string, IArcliteWebElement>();

            search    = new KeyValuePair <string, IArcliteWebElement>("Location Manager Search", new ArcliteSearch("Location Manager Search", "//div[@id='type-list_filter']/label/input", null));
            dataTable = new KeyValuePair <string, IArcliteWebElement>("Location Manager Data Table", new ArcliteDataTable("Location Manager Data Table", search.Value, "//td[@title='", "']/parent::tr", "/td/a", confirmDelete, cancelDelete));
            add       = new KeyValuePair <string, IArcliteWebElement>("Location Manager Add", new ArcliteButton("Location Manager Add", "//a[@id='btn-add-warehouse']"));
            name      = new KeyValuePair <string, IArcliteWebElement>("Location Manager Name", new ArcliteTextBox("Location Manager Name", "//input[@id='warehouseLocation']"));
            code      = new KeyValuePair <string, IArcliteWebElement>("Location Manager Code", new ArcliteTextBox("Location Manager Code", "//input[@id='warehouseNumber']"));

            description = new KeyValuePair <string, IArcliteWebElement>("Location Manager Description", new ArcliteTextBox("Location Manager Description", "//textarea[@id='warehouseDescription']"));
            save        = new KeyValuePair <string, IArcliteWebElement>("Location Manager Save", new ArcliteButton("Location Manager Save", "//button[@class='btn arc-btn-icon']"));
            cancel      = new KeyValuePair <string, IArcliteWebElement>("Location Manager Cancel", new ArcliteButton("Location Manager Cancel", "//form[@id='addWarehouseForm']/div/a"));
        }
示例#10
0
        //Dictionary<element name, XPath>
        private void initPage()
        {
            IArcliteWebElement confirmDelete = new ArcliteButton("Checklist Category Confirm Delete", "//a[@onclick='DeleteQualification()']");
            IArcliteWebElement cancelDelete  = new ArcliteButton("Checklist Category Cancel Delete", "//a[@onclick='DeleteQualification()']/parent::div/a/i[@class='fas fa-times-circle arc-fa-2x']");

            elementXpaths = new Dictionary <string, IArcliteWebElement>();

            search    = new KeyValuePair <string, IArcliteWebElement>("Qualification Search", new ArcliteSearch("Qualification Search", "//div[@id='qa_table_filter']/label/input", null));
            dataTable = new KeyValuePair <string, IArcliteWebElement>("Qualification Data Table", new ArcliteDataTable("Qualification Data Table", search.Value, "//td[normalize-space(text())='", "']/parent::tr", "/td/button", confirmDelete, cancelDelete));
            add       = new KeyValuePair <string, IArcliteWebElement>("Qualification Add", new ArcliteButton("Qualification Add", "//button[@onclick='AddEditQualification(0)']"));
            name      = new KeyValuePair <string, IArcliteWebElement>("Qualification Name", new ArcliteTextBox("Qualification Name", "//input[@id='txtNameQ']"));
            type      = new KeyValuePair <string, IArcliteWebElement>("Qualification Type", new ArcliteSelect("Qualification Type", "//div[@id='divQualificationType']/div", "//select[@id='ddlQualificationType']", "//div[@id='divQualificationType']/div/div/div/div[@data-value = '", "']"));

            description = new KeyValuePair <string, IArcliteWebElement>("Qualification Description", new ArcliteTextBox("Qualification Description", "//textarea[@id='txtDescQ']"));
            save        = new KeyValuePair <string, IArcliteWebElement>("Qualification Save", new ArcliteButton("Qualification Save", "//button[@onclick='SaveUpdateQualification(0)']"));
            cancel      = new KeyValuePair <string, IArcliteWebElement>("Qualification Cancel", new ArcliteButton("Qualification Cancel", "//button[@id='btnclose']"));
        }
        /*
         * Enter text in a search box and clicks on search button if there is one
         */

        void IActionsVisitor.visitSearch(ArcliteSearch arcliteSearch, InputVal wanted)
        {
            if (arcliteSearch._searchButtonXpath == null)
            {
                IArcliteWebElement search = new ArcliteTextBox("", arcliteSearch._searchInputXPath);
                search.accept(this, wanted);
                IWebElement webElement;
                webElement = wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath(search.elementXPath)));
                webElement.SendKeys(Keys.Enter);
            }
            else
            {
                IArcliteWebElement search = new ArcliteTextBox("", arcliteSearch._searchInputXPath);
                search.accept(this, wanted);
                IArcliteWebElement confirm = new ArcliteButton("", arcliteSearch._searchButtonXpath);
                confirm.accept(this, new InputVal());
            }
        }
        //Dictionary<element name, XPath>
        private void initPage()
        {
            elementXpaths = new Dictionary <string, IArcliteWebElement>();

            IArcliteWebElement approveRequestConfirm = new ArcliteButton("Checklist Category Approve Request Submit", "//a[@onclick='SaveApprovalRequest()']");
            IArcliteWebElement approveRequestCancel  = new ArcliteButton("Checklist Category Approve Request Cancel", "//a[@onclick='SaveApprovalRequest()']/parent::div/a[@title='Close']");

            search             = new KeyValuePair <string, IArcliteWebElement>("Checklist Search", new ArcliteSearch("Checklist Search", "//div[@id='gvChecklist_filter']/label/input", null));
            checklistDataTable = new KeyValuePair <string, IArcliteWebElement>("Checklist Data Table", new ArcliteDataTable("Checklist Data Table", search.Value, "//td[text()='", "']/parent::tr", "/td[@class='details-control']", "//td[text()='", "']/parent::tr/td/a[text()='Submit Approval']", approveRequestConfirm, approveRequestCancel));
            add = new KeyValuePair <string, IArcliteWebElement>("Checklist Add", new ArcliteButton("Checklist Add", "//a[@title='Add Checklist']/i"));
            manageCategories = new KeyValuePair <string, IArcliteWebElement>("Checklist Manage Categories", new ArcliteButton("Checklist Manage Categories", "//a[text()='Manage Categories']"));
            all = new KeyValuePair <string, IArcliteWebElement>("Checklist All", new ArcliteButton("Checklist All", "//a[@id='dvAllChklst-tab']"));

            approve       = new KeyValuePair <string, IArcliteWebElement>("Checklist Approve", new ArcliteButton("Checklist Approve", "//a[@id='dvAllChklst-approval-tab']"));
            approveSearch = new KeyValuePair <string, IArcliteWebElement>("Checklist Approve Search", new ArcliteSearch("Checklist Approve Search", "//div[@id='tblCreationApprovals_filter']/label/input", null));

            approveDataTable = new KeyValuePair <string, IArcliteWebElement>("Checklist Approve Data Table", new ArcliteDataTable("Checklist Approve Data Table", approveSearch.Value, "//td[normalize-space(text()) = '", "']/parent::tr", "/td/a", null, null));
            name             = new KeyValuePair <string, IArcliteWebElement>("Checklist Name", new ArcliteTextBox("Checklist Name", "//*[@id='txtTemplateName']"));
            categoryName     = new KeyValuePair <string, IArcliteWebElement>("Checklist Category Name", new ArcliteSelect("Checklist Category Name", "//select[@id='ddlCategoryList']", "//select[@id='ddlCategoryList']"));

            addCategory     = new KeyValuePair <string, IArcliteWebElement>("Checklist Add Category", new ArcliteButton("Checklist Add Category", "//a[@onclick='ShowAddChecklistCategoryPopup()']"));
            addCategoryName = new KeyValuePair <string, IArcliteWebElement>("Checklist Add Category Name", new ArcliteTextBox("Checklist Add Category Name", "//input[@id='txtCategoryName']"));
            categorySave    = new KeyValuePair <string, IArcliteWebElement>("Checklist Category Save", new ArcliteButton("Checklist Category Save", "//button[@id='btnSaveCategory']"));
            categoryCancel  = new KeyValuePair <string, IArcliteWebElement>("Checklist Category Cancel", new ArcliteButton("Checklist Category Cancel", "//button[@onclick='closeAddChecklistCategoryPopup();']"));
            categorySearch  = new KeyValuePair <string, IArcliteWebElement>("Checklist Category Search", new ArcliteSearch("Checklist Category Search", "//div[@id='tblChecklistCategory_filter']/label/input']", null));

            IArcliteWebElement confirmDelete = new ArcliteButton("Checklist Category Confirm Delete", "//a[@onclick='DeleteChecklistCategory();']");
            IArcliteWebElement cancelDelete  = new ArcliteButton("Checklist Category Cancel Delete", "//a[@onclick='DeleteCategoryCancel();']");

            categoryTable  = new KeyValuePair <string, IArcliteWebElement>("Checklist Category Table", new ArcliteDataTable("Checklist Category Table", categorySearch.Value, "//td[normalize-space(text()) = '", "']/parent::tr", "/td/a[@title='Click to Delete']", confirmDelete, cancelDelete));
            revisionNumber = new KeyValuePair <string, IArcliteWebElement>("Checklist Revision Number", new ArcliteTextBox("Checklist Revision Number", "//*[@id='txtRevisionNo']"));
            header         = new KeyValuePair <string, IArcliteWebElement>("Checklist Header", new ArcliteTextBox("Checklist Header", "//*[@id='txtHeader']"));
            footer         = new KeyValuePair <string, IArcliteWebElement>("Checklist Footer", new ArcliteTextBox("Checklist Footer", "//*[@id='txtFooter']"));
            description    = new KeyValuePair <string, IArcliteWebElement>("Checklist Description", new ArcliteTextBox("Checklist Description", "//*[@id='txtDescription']"));

            approvePassword = new KeyValuePair <string, IArcliteWebElement>("Checklist Approve Password", new ArcliteTextBox("Checklist Approve Password", "//input[@id='txtPassword']"));
            approveStatus   = new KeyValuePair <string, IArcliteWebElement>("Checklist Approve Status", new ArcliteSelect("Checklist Approve Status", "//select[@id='ddlApprovalStatus']", "//select[@id='ddlApprovalStatus']"));
            approveConfirm  = new KeyValuePair <string, IArcliteWebElement>("Checklist Approve Confirm", new ArcliteButton("Checklist Approve Confirm", "//button[@id='btnApproveStep']"));
            approveCancel   = new KeyValuePair <string, IArcliteWebElement>("Checklist Approve Cancel", new ArcliteButton("Checklist Approve Cancel", "//button[@class='btn arc-btn-icon-red ml-1']"));
            save            = new KeyValuePair <string, IArcliteWebElement>("Checklist Save", new ArcliteButton("Checklist Save", "//*[@id='btnSaveChecklist']"));

            formNumber = new KeyValuePair <string, IArcliteWebElement>("Checklist Form Number", new ArcliteTextBox("Checklist Form Number", "//input[@id='txtFileNo']"));
            cancel     = new KeyValuePair <string, IArcliteWebElement>("Checklist Cancel", new ArcliteTextBox("Checklist Cancel", "//*[@id='btnCancelChecklist']"));
        }
        /*
         * selects from a dropdown with wanted option
         */

        void IActionsVisitor.visitSelect(ArcliteSelect element, InputVal wanted)
        {
            string             text     = wanted.getSelectedVal();
            IArcliteWebElement dropdown = new ArcliteButton(element.elementName, element._dropDownXpath);

            dropdown.accept(this, new InputVal());
            Thread.Sleep(shortSleepTime);
            SelectElement selectElement = new SelectElement(driver.FindElement(By.XPath(element._selectXPath)));

            if (element._optionFirst == null)
            {
                //get the options as a select element
                selectElement.SelectByText(text);
            }
            else
            {
                string             dataVal      = Util.getDataValue(text, selectElement);
                IArcliteWebElement selectOption = new ArcliteButton("", element._optionFirst + dataVal + element._optionSecond);
                selectOption.accept(this, new InputVal());
            }
        }
        /*
         * select the next month's first day for a calender
         */

        void IActionsVisitor.visitCalender(ArcliteCalender element, InputVal wanted)
        {
            IArcliteWebElement calender = new ArcliteButton(element.elementName, element.elementXPath);

            calender.accept(this, new InputVal());
            IArcliteWebElement nextMonth;

            try
            {
                nextMonth = new ArcliteButton(element.elementName, element._nextMonthXpath);
                nextMonth.accept(this, new InputVal());
            }
            catch (WebDriverTimeoutException)
            {
                ((IActionsVisitor)this).visitCalender(element, wanted);
                return;
            }

            IArcliteWebElement date = new ArcliteButton(element.elementName, element._firstDateXpath);

            date.accept(this, new InputVal());
        }
示例#15
0
        //Dictionary<element name, XPath>
        private void initPage()
        {
            elementXpaths = new Dictionary <string, IArcliteWebElement>();
            IArcliteWebElement confirmDelete = new ArcliteButton("Checklist Category Confirm Delete", "//a[@onclick='DeleteInventoryItemType()']");
            IArcliteWebElement cancelDelete  = new ArcliteButton("Checklist Category Cancel Delete", "//a[@onclick='DeleteInventoryItemType()']/parent::div/a/i[@class='fas fa-times-circle arc-fa-2x']");

            elementXpaths = new Dictionary <string, IArcliteWebElement>();

            search      = new KeyValuePair <string, IArcliteWebElement>("Inventory Item Type Search", new ArcliteSearch("Inventory Item Type Search", "//div[@id='tbInventoryItemType_filter']/label/input", null));
            dataTable   = new KeyValuePair <string, IArcliteWebElement>("Inventory Item Type Data Table", new ArcliteDataTable("Inventory Item Type Data Table", search.Value, "//td[normalize-space(text())='", "']/parent::tr", "/td/button", confirmDelete, cancelDelete));
            add         = new KeyValuePair <string, IArcliteWebElement>("Inventory Item Type Add", new ArcliteButton("Inventory Item Type Add", "//i[@class='fa fa-plus arc-fa-2x']"));
            name        = new KeyValuePair <string, IArcliteWebElement>("Inventory Item Type Name", new ArcliteTextBox("Inventory Item Type Name", "//input[@id='txtItemTypeName']"));
            description = new KeyValuePair <string, IArcliteWebElement>("Inventory Item Description", new ArcliteTextBox("Inventory Item Description", "//textarea[@id='txtItemTypeDescription']"));

            unit            = new KeyValuePair <string, IArcliteWebElement>("Inventory Item Type Unit", new ArcliteSelect("Inventory Item Type Unit", "//div[@id='partialddlUOM']/div", "//select[@id='ddlUnitOfMeasurementId']", "//div[@id='partialddlUOM']/div/div/div/div[@data-value = '", "']"));
            minimumQuantity = new KeyValuePair <string, IArcliteWebElement>("Inventory Item Type Minimum Quantity", new ArcliteTextBox("Inventory Item Type Minimum Quantity", "//input[@id='txtItemTypeMinQuantity']"));
            maximumQuantity = new KeyValuePair <string, IArcliteWebElement>("Inventory Item Type Maximum Quantity", new ArcliteTextBox("Inventory Item Type Maximum Quantity", "//input[@id='txtItemTypeMaxQuantity']"));
            reorderQuantity = new KeyValuePair <string, IArcliteWebElement>("Inventory Item Type Reorder Quantity", new ArcliteTextBox("Inventory Item Type Reorder Quantity", "//input[@id='txtItemTypeReorderQuantity']"));
            save            = new KeyValuePair <string, IArcliteWebElement>("Inventory Item Type Save", new ArcliteButton("Inventory Item Type Save", "//button[@id='btnSave'][@onclick='SaveUpdateItemType(0)']"));

            cancel = new KeyValuePair <string, IArcliteWebElement>("Inventory Item Type Cancel", new ArcliteButton("Inventory Item Type Cancel", "//button[@id='btnclose']"));
        }
示例#16
0
        //Dictionary<element name, XPath>
        private void initPage()
        {
            elementXpaths = new Dictionary <string, IArcliteWebElement>();

            search = new KeyValuePair <string, IArcliteWebElement>("Assets Search", new ArcliteSearch("Assets Search", "//div[@id='tblAssetManagement_filter']/label/input", null));
            IArcliteWebElement confirmDelete = new ArcliteButton("Assets Confirm Delete", "//a[@title='Yes, delete it!']");
            IArcliteWebElement cancelDelete  = new ArcliteButton("Assets Cancel Delete", "//div[@id='confirmation']/div/div/div/a[@title='Cancel']");

            dataTable = new KeyValuePair <string, IArcliteWebElement>("Assets Data Table", new ArcliteDataTable("Assets Data Table", search.Value, "//td[text()='", "']/parent::tr", "/td/button", confirmDelete, cancelDelete));
            add       = new KeyValuePair <string, IArcliteWebElement>("Assets Add", new ArcliteButton("Assets Add", "//a[@onclick='AddEditAsset(0)']"));
            name      = new KeyValuePair <string, IArcliteWebElement>("Assets Name", new ArcliteTextBox("Assets Name", "//*[@id='txtNameAsset']"));
            assetType = new KeyValuePair <string, IArcliteWebElement>("Assets Type", new ArcliteSelect("Assets Type", "//div[@id='partialDdlAssetType']/div/div[@class='fs-label-wrap']", "//select[@id='ParentAssetID']", "//div[@id='partialDdlAssetType']/div/div/div/div[@data-value = '", "']"));

            serial         = new KeyValuePair <string, IArcliteWebElement>("Assets Serial", new ArcliteTextBox("Assets Serial", "//*[@id='MachineDetails_MachineSerial']"));
            description    = new KeyValuePair <string, IArcliteWebElement>("Assets Description", new ArcliteTextBox("Assets Description", "//*[@id='MachineDetails_Description']"));
            installedTime  = new KeyValuePair <string, IArcliteWebElement>("Assets Installed Time", new ArcliteCalender("Assets Installed Time", "//input[@id='installedtime']", "//input[@id='installedtime']/parent::div/div/ul/li/div[@class='datepicker']/div[@class='datepicker-days']/table/thead/tr/th[@class='next']", "//tr/td[text()='1']"));
            installedBy    = new KeyValuePair <string, IArcliteWebElement>("Assets Installed By", new ArcliteSelect("Assets Installed By", "//label[text()='Installed By']/parent::div/div", "//select[@id='PersonnelID']", "//label[text()='Installed By']/parent::div/div/div/div/div[@data-value='", "']"));
            qualifications = new KeyValuePair <string, IArcliteWebElement>("Assets Qualifications", new ArcliteSelect("Assets Qualifications", "//div[@id='partialDdlQualification']/div", "//select[@id='select_qua']", "//div[@id='partialDdlQualification']/div/div/div/div[@data-value = '", "']"));

            trackOEE = new KeyValuePair <string, IArcliteWebElement>("Assets Track OEE", new ArcliteButton("Assets Track OEE", "//label[@for='trackOEE']"));
            save     = new KeyValuePair <string, IArcliteWebElement>("Assets Save", new ArcliteButton("Assets Save", "//button[@id='btnSave']"));
            cancel   = new KeyValuePair <string, IArcliteWebElement>("Assets Cancel", new ArcliteTextBox("Assets Cancel", "//button[@id='btnclose']"));
        }
        //Dictionary<element name, XPath>
        private void initPage()
        {
            elementXpaths = new Dictionary <string, IArcliteWebElement>();

            IArcliteWebElement approveRequestConfirm = new ArcliteButton("Workstation Submit Delete", "//button[@id='btnDelete']");
            IArcliteWebElement approveRequestCancel  = new ArcliteButton("Workstation Cancel Delete", "//button[@id='btnDelete']/parent::div/button[@title='No']");
            IArcliteWebElement search = new ArcliteSearch("Workstation Ongoing Search", "//input[@id='textSrchWrkflwName']", "//button[@id='anchSearchJobs']");

            ongoing   = new KeyValuePair <string, IArcliteWebElement>("Workstation Ongoing", new ArcliteButton("Workstation Ongoing", "//a[@id='aOngoingTab']"));
            completed = new KeyValuePair <string, IArcliteWebElement>("Workstation Completed", new ArcliteButton("Workstation Completed", "//a[@id='aCompletedTab']"));
            ongoingWorkstationTable   = new KeyValuePair <string, IArcliteWebElement>("Workstation Ongoing Table", new ArcliteDataTable("Workstation Ongoing Table", search, "//td[text()='", "']", "", null, null));
            search.elementName        = "Workstation Compelted Search";
            completedWorkstationTable = new KeyValuePair <string, IArcliteWebElement>("Workstation Completed Table", new ArcliteDataTable("Workstation Completed Table", search, "//td[text()='", "']", "/parent::tr/td/div/a", null, null));

            search      = new ArcliteSearch("Workstation Step Search", "//div[@id='tblSteps_filter']/label/input", null);
            stepsTable  = new KeyValuePair <string, IArcliteWebElement>("Workstation Steps Table", new ArcliteDataTable("Workstation Steps Table", search, "//td[text()='", "']", "", null, null));
            start       = new KeyValuePair <string, IArcliteWebElement>("Workstation Step Start", new ArcliteButton("Workstation Step Start", "//button[@id='timerPlay']"));
            pause       = new KeyValuePair <string, IArcliteWebElement>("Workstation Step Pause", new ArcliteButton("Workstation Step Pause", "//button[@id='timerPause']"));
            complete    = new KeyValuePair <string, IArcliteWebElement>("Workstation Step Complete", new ArcliteButton("Workstation Step Complete", "//button[@id='timerStop']"));
            instruction = new KeyValuePair <string, IArcliteWebElement>("Workstation Instruction", new ArcliteButton("Workstation Instruction", "//button[@data-menu-name='Instructions']"));

            personnel = new KeyValuePair <string, IArcliteWebElement>("Workstation Personnel", new ArcliteButton("Workstation Personnel", "//button[@data-menu-name='Personnel']"));
            asset     = new KeyValuePair <string, IArcliteWebElement>("Workstation Equipments", new ArcliteButton("Workstation Equipments", "//button[@data-menu-name='Equipments']"));
            equiment  = new KeyValuePair <string, IArcliteWebElement>("Workstation Output", new ArcliteButton("Workstation Output", "//button[@data-menu-name='Output']"));
            checklist = new KeyValuePair <string, IArcliteWebElement>("Workstation Parameters Input", new ArcliteButton("Workstation Parameters Input", "//button[@data-menu-name='Parameters Input']"));
            /*notReady*/
            producedGoodsQuality = new KeyValuePair <string, IArcliteWebElement>("Workstation Produced Goods Quality", new ArcliteButton("Workstation Produced Goods Quality", "//label[@for='chkIsLastStep']"));

            /*notReady*/
            numberOfGoodsToBeProduced = new KeyValuePair <string, IArcliteWebElement>("Workstation Number Of Good To Be Produced", new ArcliteTextBox("Workstation Number Of Good To Be Produced", "//button[@title='Instructions']"));

            /*notReady*/
            goodsProduceAreEfficient = new KeyValuePair <string, IArcliteWebElement>("Workstation Goods Produce Are Efficent", new ArcliteTextBox("Workstation Goods Produce Are Efficent", "//input[@id='txtInstructionName']"));
            attachment = new KeyValuePair <string, IArcliteWebElement>("Workstation Attachments", new ArcliteButton("Workstation Attachments", "//button[@data-menu-name='Attachments']"));
            backToStep = new KeyValuePair <string, IArcliteWebElement>("Workstation Back To Step", new ArcliteButton("Workstation Back To Step", "//button[@onclick='goBackTostepPage()']"));
            back       = new KeyValuePair <string, IArcliteWebElement>("Workstation Back", new ArcliteButton("Workstation Back To Step", "//button[@id='btnBack']"));
        }
        //Dictionary<element name, XPath>
        private void initPage()
        {
            elementXpaths = new Dictionary <string, IArcliteWebElement>();

            IArcliteWebElement approveRequestConfirm = new ArcliteButton("Workflow Submit Delete", "//button[@id='btnDelete']");
            IArcliteWebElement approveRequestCancel  = new ArcliteButton("Workflow Cancel Delete", "//button[@id='btnDelete']/parent::div/button[@title='No']");
            IArcliteWebElement search = new ArcliteSearch("WorkFlow Search", "//div[@id='tbWorkflows_filter']/label/input", null);

            workflowTable = new KeyValuePair <string, IArcliteWebElement>("Workflow Data Table", new ArcliteDataTable("Workflow Data Table", search, "//div[text()='", "']", "/parent::td/parent::tr/td/button[@title='Delete']", approveRequestConfirm, approveRequestCancel));
            add           = new KeyValuePair <string, IArcliteWebElement>("Workflow Add", new ArcliteButton("Workflow Add", "//a[@title='Add Workflow']"));
            workflowName  = new KeyValuePair <string, IArcliteWebElement>("Workflow Name", new ArcliteTextBox("Workflow Name", "//input[@id='txtWorkflowName']"));
            description   = new KeyValuePair <string, IArcliteWebElement>("Workflow Description", new ArcliteTextBox("Workflow Description", "//textarea[@id='txtDescription']"));

            AddWorkFlowSave        = new KeyValuePair <string, IArcliteWebElement>("Workflow Save", new ArcliteButton("Workflow Save", "//a[@onclick='updateWorkflow(this)']"));
            AddWorkFlowCancel      = new KeyValuePair <string, IArcliteWebElement>("Workflow Cancel", new ArcliteButton("Workflow Cancel", "//a[@onclick='updateWorkflow(this)']/parent::div/button"));
            FinishBuildingWorkFlow = new KeyValuePair <string, IArcliteWebElement>("Workflow Finish Building", new ArcliteButton("Workflow Finish Building", "//a[@id='btnSaveWorkflow']"));
            addStep = new KeyValuePair <string, IArcliteWebElement>("Workflow Add Step", new ArcliteButton("Workflow Add Step", "//div[@id='btngrpElements']/a[@onclick='createStep()']"));
            canvas  = new KeyValuePair <string, IArcliteWebElement>("Workflow Canvas", new ArcliteCanvas("Workflow Canvas", "//div[@id='wfCanvas']", addStep.Value));

            stepName  = new KeyValuePair <string, IArcliteWebElement>("Workflow Step Name", new ArcliteTextBox("Workflow Step Name", "//input[@id='txtStepName']"));
            runTime   = new KeyValuePair <string, IArcliteWebElement>("Workflow Run Time", new ArcliteTextBox("Workflow Run Time", "//input[@id='txtRuntime']"));
            cycleTime = new KeyValuePair <string, IArcliteWebElement>("Workflow Cycle Time", new ArcliteTextBox("Workflow Cycle Time", "//input[@id='txtCycletime']"));
            startStep = new KeyValuePair <string, IArcliteWebElement>("Workflow Start Step", new ArcliteButton("Workflow Start Step", "//label[@for='chkIsStartStep']"));
            lastStep  = new KeyValuePair <string, IArcliteWebElement>("Workflow Last Step", new ArcliteButton("Workflow Last Step", "//label[@for='chkIsLastStep']"));

            instruction     = new KeyValuePair <string, IArcliteWebElement>("Workflow Step Instruction", new ArcliteTextBox("Workflow Step Instruction", "//button[@title='Instructions']"));
            instructionName = new KeyValuePair <string, IArcliteWebElement>("Workflow Instruction Name", new ArcliteTextBox("Workflow Instruction Name", "//input[@id='txtInstructionName']"));
            instructionType = new KeyValuePair <string, IArcliteWebElement>("Workflow Instruction Type", new ArcliteSelect("Workflow Instruction Type", "//select[@id='ddlInstructionType']", "//select[@id='ddlInstructionType']"));
            attachment      = new KeyValuePair <string, IArcliteWebElement>("Workflow Instruction Attachment", new ArcliteAttachment("Workflow Instruction Attachment", "//input[@id='arc-file']"));
            instructionSave = new KeyValuePair <string, IArcliteWebElement>("Workflow Instruction Save", new ArcliteButton("Workflow Instruction Save", "//button[@onclick='updateInstruction(1)']"));

            search = new ArcliteSearch("Workflow Personnel Qualification Search", "//input[@aria-controls='tbQualification']", null);

            instructionCancel           = new KeyValuePair <string, IArcliteWebElement>("Workflow Instruction Cancel", new ArcliteButton("Workflow Instruction Cancel", "//button[@onclick=\"resetForm('#Instruction')\"]"));
            personnel                   = new KeyValuePair <string, IArcliteWebElement>("Workflow Step Personnel", new ArcliteButton("Workflow Step Personnel", "//button[@title='Personnels']"));
            addPersonnelQualification   = new KeyValuePair <string, IArcliteWebElement>("Workflow Add Personnel Qualifiction", new ArcliteButton("Workflow Add Personnel Qualifiction", "//button[@onclick='getQualification(1)']"));
            addPersonnel                = new KeyValuePair <string, IArcliteWebElement>("Workflow Add Personnel", new ArcliteButton("Workflow Add Personnel", "//button[@onclick=\"getPersonnelSpecific('AllPersonnels')\"]"));
            personnelQualificationTable = new KeyValuePair <string, IArcliteWebElement>("Workflow Personnel Qualification Table", new ArcliteDataTable("Workflow Personnel Qualification Table", search, "//div[text()='", "']", "", null, null));

            search                    = new ArcliteSearch("Workflow Personnel Search", "//input[@aria-controls='tbPersonnelSpecifics']", null);
            personnelTable            = new KeyValuePair <string, IArcliteWebElement>("Workflow Personnel Table", new ArcliteDataTable("Workflow Personnel Table", search, "//td[text()='", "']", "", null, null));
            addMachineQualification   = new KeyValuePair <string, IArcliteWebElement>("Workflow Add Machine Qualifiction", new ArcliteButton("Workflow Add Machine Qualifiction", "//button[@onclick='getAssetQualification(2)']"));
            addAsset                  = new KeyValuePair <string, IArcliteWebElement>("Workflow Add Asset", new ArcliteButton("Workflow Add Asset", "//button[@onclick='getEquipementSpecific()']"));
            search                    = new ArcliteSearch("Workflow Machine Qualification Search", "//input[@aria-controls='tbQualification']", null);
            machineQualificationTable = new KeyValuePair <string, IArcliteWebElement>("Workflow Machine Qualification Table", new ArcliteDataTable("Workflow Machine Qualification Table", search, "//div[text()='", "']", "", null, null));
            search                    = new ArcliteSearch("Workflow Asset Search", "//input[@aria-controls='tbEquipnentSpecifics']", null);
            assetTable                = new KeyValuePair <string, IArcliteWebElement>("Workflow Asset Table", new ArcliteDataTable("Workflow Asset Table", search, "//div[text()='", "']", "", null, null));

            items      = new KeyValuePair <string, IArcliteWebElement>("Workflow Step Items", new ArcliteButton("Workflow Step Items", "//button[@title='Items']"));
            addItemIn  = new KeyValuePair <string, IArcliteWebElement>("Workflow Add Item In", new ArcliteButton("Workflow Add Item In", "//button[@onclick='getResources(1)']"));
            addItemOut = new KeyValuePair <string, IArcliteWebElement>("Workflow Add Item Out", new ArcliteButton("Workflow Add Item Out", "//button[@onclick='getResources(2)']"));
            search     = new ArcliteSearch("Workflow Personnel Search", "//input[@aria-controls='tbResources']", null);
            itemsTable = new KeyValuePair <string, IArcliteWebElement>("Workflow Items Table", new ArcliteDataTable("Workflow Items Table", search, "//div[text()='", "']", "", null, null));
            checklists = new KeyValuePair <string, IArcliteWebElement>("Workflow Checklists", new ArcliteButton("Workflow Checklists", "//button[@title='Checklists']"));

            selectType    = new KeyValuePair <string, IArcliteWebElement>("Workflow Select Type", new ArcliteSelect("Workflow Select Type", "//select[@id='ddlChecklistType']", "//select[@id='ddlChecklistType']"));
            name          = new KeyValuePair <string, IArcliteWebElement>("Workflow Select Checklist Name", new ArcliteTextBox("Workflow Select Checklist Name", "//input[@id='txtChecklistName']"));
            notes         = new KeyValuePair <string, IArcliteWebElement>("Workflow Select Checklist Notes", new ArcliteTextBox("Workflow Select Checklist Notes", "//textarea[@id='txtNotes']"));
            expectedValue = new KeyValuePair <string, IArcliteWebElement>("Workflow Expected Value", new ArcliteTextBox("Workflow Expected Value", "//button[@title='Checklists']"));
            equipment     = new KeyValuePair <string, IArcliteWebElement>("Workflow Equipment", new ArcliteButton("Workflow Equipment", "//button[@title='Equipments']"));

            checklistSave   = new KeyValuePair <string, IArcliteWebElement>("Workflow Checklist Save", new ArcliteButton("Workflow Checklist Save", "//button[@onclick='updateChecklist(1)']"));
            checklistCancel = new KeyValuePair <string, IArcliteWebElement>("Workflow Checklist Cancel", new ArcliteButton("Workflow Checklist Cancel", "//button[@onclick='resetForm('#Checklist')']"));
            closeStep       = new KeyValuePair <string, IArcliteWebElement>("Workflow Close Step", new ArcliteButton("Workflow Close Step", "//span[@onclick='closeNav()']"));
        }