diff --git a/src/org/labkey/test/components/ManageSampleStatusesPanel.java b/src/org/labkey/test/components/ManageSampleStatusesPanel.java index 3777ad8495..d88652f9e3 100644 --- a/src/org/labkey/test/components/ManageSampleStatusesPanel.java +++ b/src/org/labkey/test/components/ManageSampleStatusesPanel.java @@ -272,7 +272,7 @@ final WebElement selectedStatusItem() return Locator.tagWithClass("button", "list-group-item").withClass("active") .refindWhenNeeded(this); } - final WebElement addStatusButton = Locator.tagWithText("span", "Add New Status") + final WebElement addStatusButton = Locator.button( "Add New Status") .refindWhenNeeded(getComponentElement()); final Input labelField() { diff --git a/src/org/labkey/test/components/domain/DomainFieldRow.java b/src/org/labkey/test/components/domain/DomainFieldRow.java index e650c38343..f37225ae59 100644 --- a/src/org/labkey/test/components/domain/DomainFieldRow.java +++ b/src/org/labkey/test/components/domain/DomainFieldRow.java @@ -804,7 +804,7 @@ public Boolean getAllowMultipleSelections() */ public DomainFieldRow setTextChoiceValues(List values) { - WebElement button = Locator.tagWithClass("span", "container--action-button").withText("Add Values").findElement(this); + WebElement button = Locator.tagWithClass("button", "container--action-button").withText("Add Values").findElement(this); button.click(); TextChoiceValueDialog addValuesDialog = new TextChoiceValueDialog(this); @@ -814,7 +814,7 @@ public DomainFieldRow setTextChoiceValues(List values) public String setTextChoiceValuesExpectingError(List values) { - WebElement button = Locator.tagWithClass("span", "container--action-button").withText("Add Values").findElement(this); + WebElement button = Locator.tagWithClass("button", "container--action-button").withText("Add Values").findElement(this); button.click(); TextChoiceValueDialog addValuesDialog = new TextChoiceValueDialog(this); diff --git a/src/org/labkey/test/components/domain/DomainFormPanel.java b/src/org/labkey/test/components/domain/DomainFormPanel.java index bde99266fb..9b1d744826 100644 --- a/src/org/labkey/test/components/domain/DomainFormPanel.java +++ b/src/org/labkey/test/components/domain/DomainFormPanel.java @@ -635,8 +635,6 @@ protected class ElementCache extends DomainPanel. public final Checkbox selectAll = new Checkbox(Locator.tagWithAttributeContaining("input", "id", "domain-select-all-checkbox") .findWhenNeeded(this)); - public final WebElement toggleButton = Locator.tagWithAttributeContaining("div", "id", "domain-toggle-summary"). - findWhenNeeded(this); public final ToggleButton customFieldsViewToggle = new ToggleButton.ToggleButtonFinder(getDriver()) .withState("Detail").timeout(5000).findWhenNeeded(this); diff --git a/src/org/labkey/test/components/react/ToggleButton.java b/src/org/labkey/test/components/react/ToggleButton.java index 17401d2b5e..f08876f30b 100644 --- a/src/org/labkey/test/components/react/ToggleButton.java +++ b/src/org/labkey/test/components/react/ToggleButton.java @@ -85,7 +85,7 @@ private ToggleButton selectSecond() private boolean hasButtons() { if (hasButtons == null) - hasButtons = Locator.tag("button").existsIn(this); + hasButtons = Locator.tag("button").findElements(this).size() > 1; return hasButtons; } diff --git a/src/org/labkey/test/components/ui/domainproperties/samples/SampleTypeDesigner.java b/src/org/labkey/test/components/ui/domainproperties/samples/SampleTypeDesigner.java index 2b0ebfeb5c..0dac4d027d 100644 --- a/src/org/labkey/test/components/ui/domainproperties/samples/SampleTypeDesigner.java +++ b/src/org/labkey/test/components/ui/domainproperties/samples/SampleTypeDesigner.java @@ -105,7 +105,7 @@ protected class ElementCache extends EntityTypeDesigner.ElementCache protected final WebElement uniqueIdMsgCheckIcon = Locator.tagWithClass("div","uniqueid-msg") .append(Locator.tagWithClassContaining("i", "domain-panel-status-icon-green")).refindWhenNeeded(this); - public final WebElement addParentAliasButton = Locator.tagWithClassContaining("span", "container--action-button") + public final WebElement addParentAliasButton = Locator.tagWithClassContaining("button", "container--action-button") .withText("Add a Parent").findWhenNeeded(propertiesPanel); public final WebElement addAliasButton = Locator.tagWithClass("i","container--addition-icon").findWhenNeeded(this); } diff --git a/src/org/labkey/test/components/ui/entities/ParentEntityEditPanel.java b/src/org/labkey/test/components/ui/entities/ParentEntityEditPanel.java index ad98ad7d58..fc9c968cc7 100644 --- a/src/org/labkey/test/components/ui/entities/ParentEntityEditPanel.java +++ b/src/org/labkey/test/components/ui/entities/ParentEntityEditPanel.java @@ -520,7 +520,7 @@ protected class ElementCache extends Panel.ElementCache // This is the 'Add' button that is contained inside the panel. final WebElement addButton = Locator - .tagContainingText("span", "Add") + .tagContainingText("button", "Add") .findWhenNeeded(this); public WebElement commentInput = Locator.tagWithId("textarea", "actionComments").refindWhenNeeded(getDriver()); diff --git a/src/org/labkey/test/components/ui/files/FileUploadPanel.java b/src/org/labkey/test/components/ui/files/FileUploadPanel.java index 4aacfd18b2..c5ff325856 100644 --- a/src/org/labkey/test/components/ui/files/FileUploadPanel.java +++ b/src/org/labkey/test/components/ui/files/FileUploadPanel.java @@ -19,13 +19,11 @@ public class FileUploadPanel extends WebDriverComponent { - private Locator.XPathLocator _baseLocator = Locator.tagWithClass("div", "file-upload__container").parent(); - private final boolean _backwardsCompat; + private final Locator.XPathLocator _baseLocator = Locator.tagWithClass("div", "file-upload__container").parent(); public FileUploadPanelFinder(WebDriver driver) { super(driver); - _backwardsCompat = false; } - public FileUploadPanelFinder(WebDriver driver, boolean backwardsCompat) - { - super(driver); - _backwardsCompat = backwardsCompat; - if (backwardsCompat) - _baseLocator = Locator.tagWithClass("div", "file-upload--container").parent(); - } - - - @Override protected FileUploadPanel construct(WebElement el, WebDriver driver) { - return new FileUploadPanel(el, driver, _backwardsCompat); + return new FileUploadPanel(el, driver); } @Override diff --git a/src/org/labkey/test/components/ui/files/ManageImportTemplatesDialog.java b/src/org/labkey/test/components/ui/files/ManageImportTemplatesDialog.java index 695b48012f..36f6d8059e 100644 --- a/src/org/labkey/test/components/ui/files/ManageImportTemplatesDialog.java +++ b/src/org/labkey/test/components/ui/files/ManageImportTemplatesDialog.java @@ -216,7 +216,7 @@ protected ManageImportTemplatesDialog.ElementCache elementCache() protected class ElementCache extends ModalDialog.ElementCache { - WebElement addTemplateRow = Locator.tagWithClassContaining("span", "container--action-button") + WebElement addTemplateRow = Locator.tagWithClassContaining("button", "container--action-button") .withText("Add a Template").findWhenNeeded(getComponentElement()); WebElement defaultTemplateFileLink = Locator.tagWithClass("span", "clickable-text").findWhenNeeded(getComponentElement()); diff --git a/src/org/labkey/test/components/ui/grids/DetailDataPanel.java b/src/org/labkey/test/components/ui/grids/DetailDataPanel.java index 21748a534d..6219771a11 100644 --- a/src/org/labkey/test/components/ui/grids/DetailDataPanel.java +++ b/src/org/labkey/test/components/ui/grids/DetailDataPanel.java @@ -164,7 +164,7 @@ protected class ElementCache extends Component.ElementCache public Optional editButton() { - return Locator.tagWithClass("div", "detail__edit-button") + return Locator.byClass("detail__edit-button") .findOptionalElement(heading); } diff --git a/src/org/labkey/test/components/ui/grids/FieldSelectionDialog.java b/src/org/labkey/test/components/ui/grids/FieldSelectionDialog.java index ee25541fa0..27ea50db6e 100644 --- a/src/org/labkey/test/components/ui/grids/FieldSelectionDialog.java +++ b/src/org/labkey/test/components/ui/grids/FieldSelectionDialog.java @@ -149,7 +149,7 @@ public FieldSelectionDialog selectAvailableField(FieldKey fieldKey) Assert.assertTrue(String.format(FIELD_NOT_AVAILABLE, fieldKey), listItem.isDisplayed()); - WebElement addIcon = Locator.tagWithClass("div", "view-field__action") + WebElement addIcon = Locator.tagWithClass("button", "view-field__action") .withChild(Locator.tagWithClass("i", "fa-plus")) .findElement(listItem); @@ -212,10 +212,10 @@ private void expandOrCollapseByFieldKey(FieldKey fieldKey, boolean expand) String oppositeIconClass = !expand ? "fa-chevron-right" : "fa-chevron-down"; WebElement expandIcon = Locator.tagWithClass("div", "field-expand-icon") - .withChild(Locator.tagWithClass("i", iconClass)) + .withChild(Locator.tagWithClass("button", iconClass)) .findElement(listItem); Locator oppositeIcon = Locator.tagWithClass("div", "field-expand-icon") - .withChild(Locator.tagWithClass("i", oppositeIconClass)); + .withChild(Locator.tagWithClass("button", oppositeIconClass)); String errorMessage; @@ -239,7 +239,7 @@ private boolean isFieldKeyExpanded(WebElement listItem) { // As long as there is no expand icon then this field is expanded. return !Locator.tagWithClass("div", "field-expand-icon") - .withChild(Locator.tagWithClass("i", "fa-chevron-right")) + .withChild(Locator.tagWithClass("button", "fa-chevron-right")) .findWhenNeeded(listItem).isDisplayed(); } @@ -321,7 +321,7 @@ public boolean canFieldBeRemoved(String field) public boolean canFieldBeRemoved(String field, int index) { WebElement listItem = getSelectedListItems(field).get(index); - WebElement removeIcon = Locator.tagWithClass("span", "view-field__action").findWhenNeeded(listItem); + WebElement removeIcon = Locator.tagWithClass("button", "view-field__action").findWhenNeeded(listItem); return removeIcon.isDisplayed(); } @@ -363,7 +363,7 @@ public FieldSelectionDialog removeFieldFromSelected(String field) public FieldSelectionDialog removeFieldFromSelected(String field, int index) { WebElement listItem = getSelectedListItems(field).get(index); - WebElement removeIcon = Locator.tagWithClass("span", "view-field__action").findElement(listItem); + WebElement removeIcon = Locator.byClass("view-field__action").findElement(listItem); getWrapper().mouseOver(removeIcon); removeIcon.click(); @@ -391,7 +391,7 @@ public FieldSelectionDialog removeAllSelectedFields() { getWrapper().log(String.format("Removing field '%s' from selected fields.", listItem.getText())); - WebElement removeIcon = Locator.tagWithClass("span", "view-field__action").findWhenNeeded(listItem); + WebElement removeIcon = Locator.tagWithClass("button", "view-field__action").findWhenNeeded(listItem); // In some usages there may be fields that are not removable. if (!removeIcon.isDisplayed()) @@ -436,7 +436,7 @@ public FieldSelectionDialog setFieldLabel(String fieldName, String newFieldLabel public FieldSelectionDialog setFieldLabel(FieldKey fieldKey, String newFieldLabel) { WebElement listItem = elementCache().findSelectedField(fieldKey); - WebElement updateIcon = Locator.tagWithClass("span", "edit-inline-field__toggle").findWhenNeeded(listItem); + WebElement updateIcon = Locator.byClass( "edit-inline-field__toggle").findWhenNeeded(listItem); updateIcon.click(); WebDriverWrapper.waitFor(()->elementCache().fieldLabelEdit.isDisplayed(), diff --git a/src/org/labkey/test/components/ui/grids/ManageViewsDialog.java b/src/org/labkey/test/components/ui/grids/ManageViewsDialog.java index 186a49e6e0..20426f5e7e 100644 --- a/src/org/labkey/test/components/ui/grids/ManageViewsDialog.java +++ b/src/org/labkey/test/components/ui/grids/ManageViewsDialog.java @@ -203,7 +203,7 @@ public boolean canDefaultBeReverted() */ public ManageViewsDialog makeViewDefault(String viewName) { - Locator.tagWithText("span", "Make default").findElement(elementCache().viewRow(viewName)).click(); + Locator.tagWithText("button", "Make default").findElement(elementCache().viewRow(viewName)).click(); return this; } @@ -242,6 +242,6 @@ protected WebElement viewRow(String viewName) protected final WebElement deleteYesButton = Locator.button("Yes").refindWhenNeeded(this); protected final WebElement deleteNoButton = Locator.button("No").refindWhenNeeded(this); - protected final WebElement revertDefault = Locator.tagWithText("span", "Revert").refindWhenNeeded(this); + protected final WebElement revertDefault = Locator.tagWithText("button", "Revert").refindWhenNeeded(this); } } diff --git a/src/org/labkey/test/components/ui/grids/ParentDetailPanel.java b/src/org/labkey/test/components/ui/grids/ParentDetailPanel.java index 52c26ca707..e752988cc4 100644 --- a/src/org/labkey/test/components/ui/grids/ParentDetailPanel.java +++ b/src/org/labkey/test/components/ui/grids/ParentDetailPanel.java @@ -157,7 +157,7 @@ protected class ElementCache extends Component.ElementCache public WebElement panelHeading = Locator.byClass( "panel-heading") .findWhenNeeded(this).withTimeout(2000); - public Locator editBtnLoc = Locator.tagWithClass("div", "detail__edit-button"); + public Locator editBtnLoc = Locator.byClass("detail__edit-button"); public Optional optionalEditBtn() { return editBtnLoc.findOptionalElement(panelHeading); diff --git a/src/org/labkey/test/components/ui/lineage/NodeDetail.java b/src/org/labkey/test/components/ui/lineage/NodeDetail.java index 1b3586bd38..7036ae6d1f 100644 --- a/src/org/labkey/test/components/ui/lineage/NodeDetail.java +++ b/src/org/labkey/test/components/ui/lineage/NodeDetail.java @@ -17,7 +17,7 @@ public class NodeDetail extends WebDriverComponent { private static final Locator.XPathLocator NAME_LOC = Locator.XPathLocator.union( - Locator.tagWithClass("a", "lineage-link"), + Locator.byClass("lineage-link"), Locator.tag("span")); final WebElement _el; diff --git a/src/org/labkey/test/components/ui/lineage/NodeDetailGroup.java b/src/org/labkey/test/components/ui/lineage/NodeDetailGroup.java index 02cd7fe338..ba76a9cfb9 100644 --- a/src/org/labkey/test/components/ui/lineage/NodeDetailGroup.java +++ b/src/org/labkey/test/components/ui/lineage/NodeDetailGroup.java @@ -33,7 +33,7 @@ public String getGroupName() private void showAllItems() { - Locator.tag("li").child(Locator.tagWithClass("a", "lineage-link")) + Locator.tag("li").child(Locator.byClass("lineage-link")) .findOptionalElement(this) .ifPresent(moreLink -> { diff --git a/src/org/labkey/test/components/ui/navigation/ProductMenu.java b/src/org/labkey/test/components/ui/navigation/ProductMenu.java index 22eabff706..5848972240 100644 --- a/src/org/labkey/test/components/ui/navigation/ProductMenu.java +++ b/src/org/labkey/test/components/ui/navigation/ProductMenu.java @@ -302,7 +302,7 @@ WebElement menuSectionLink(String headerText, String linkText) return Locator.linkWithText(linkText).findElement(menuSectionBody(headerText)); } - private final Locator.XPathLocator folderMenuItemLocator = Locator.tagWithClass("a", "menu-folder-item"); + private final Locator.XPathLocator folderMenuItemLocator = Locator.tagWithClass("button", "menu-folder-item"); private final Locator activeFolderMenuItemLocator = Locator.tagWithClass("li", "active").descendant(folderMenuItemLocator); List folderMenuItems() diff --git a/src/org/labkey/test/pages/ReactAssayDesignerPage.java b/src/org/labkey/test/pages/ReactAssayDesignerPage.java index f9072397f5..dd15e77c2c 100644 --- a/src/org/labkey/test/pages/ReactAssayDesignerPage.java +++ b/src/org/labkey/test/pages/ReactAssayDesignerPage.java @@ -274,7 +274,7 @@ private ReactAssayDesignerPage setTransformScript(File transformScript, boolean assertTrue("Unable to locate the transform script: " + transformScript, transformScript.exists()); expandPropertiesPanel(); - getWrapper().click(Locator.tagWithClass("span", "btn").containing("Add Script")); + getWrapper().click(Locator.buttonContainingText("Add Script")); String targetPath = transformScript.getAbsolutePath(); if (usingFileUpload) {