Skip to content

Commit 11f3de4

Browse files
committed
Helper to create dataset categories with retry
1 parent ffd5c3d commit 11f3de4

2 files changed

Lines changed: 24 additions & 14 deletions

File tree

src/org/labkey/test/pages/reports/ManageViewsPage.java

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,16 @@
1717

1818
import org.labkey.test.Locator;
1919
import org.labkey.test.components.ChartQueryDialog;
20+
import org.labkey.test.components.ext4.Window;
2021
import org.labkey.test.components.html.BootstrapMenu;
2122
import org.labkey.test.pages.LabKeyPage;
2223
import org.labkey.test.util.LogMethod;
2324
import org.openqa.selenium.WebDriver;
2425
import org.openqa.selenium.WebElement;
26+
import org.openqa.selenium.support.ui.ExpectedConditions;
27+
import org.openqa.selenium.support.ui.WebDriverWait;
28+
29+
import java.time.Duration;
2530

2631
import static org.labkey.test.components.ext4.Window.Window;
2732

@@ -34,7 +39,7 @@ public ManageViewsPage(WebDriver driver)
3439

3540
public void clickAddReport(String reportType)
3641
{
37-
BootstrapMenu.find(getDriver(),"Add Report").clickSubMenu(true,reportType);
42+
new BootstrapMenu.BootstrapMenuFinder(getDriver()).withButtonTextContaining("Add Report").find().clickSubMenu(true,reportType);
3843
}
3944

4045
public ChartQueryDialog clickAddChart()
@@ -89,4 +94,21 @@ public void viewReport(String reportName)
8994
mouseOver(reportLink);
9095
clickAndWait(reportLink);
9196
}
97+
98+
public void createCategory(String categoryName)
99+
{
100+
Locator.linkWithText("Manage Categories").findElement(getDriver()).click();
101+
Window<?> categoryWindow = new Window.WindowFinder(getDriver()).withTitle("Manage Categories").waitFor();
102+
for (int retry = 0; retry < 3; retry++)
103+
{
104+
categoryWindow.clickButton("New Category", 0);
105+
WebElement newCategoryField = Locator.input("label").withAttributeContaining("id", "textfield").notHidden().waitForElement(categoryWindow, WAIT_FOR_JAVASCRIPT);
106+
setFormElementJS(newCategoryField, categoryName);
107+
fireEvent(newCategoryField, SeleniumEvent.blur);
108+
new WebDriverWait(getDriver(), Duration.ofSeconds(2)).until(ExpectedConditions.invisibilityOf(newCategoryField));
109+
Locator.tagWithText("div", categoryName).waitForElement(categoryWindow, 2_000);
110+
}
111+
clickButton("Done", 0);
112+
categoryWindow.waitForClose();
113+
}
92114
}

src/org/labkey/test/tests/SampleTypeLinkToStudyTest.java

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,10 @@
2424
import org.labkey.test.params.FieldDefinition;
2525
import org.labkey.test.params.experiment.SampleTypeDefinition;
2626
import org.labkey.test.util.DataRegionTable;
27-
import org.labkey.test.util.Ext4Helper;
2827
import org.labkey.test.util.PortalHelper;
2928
import org.labkey.test.util.SampleTypeHelper;
3029
import org.labkey.test.util.StudyHelper;
3130
import org.labkey.test.util.TestDataGenerator;
32-
import org.openqa.selenium.WebElement;
3331

3432
import java.io.File;
3533
import java.io.IOException;
@@ -773,17 +771,7 @@ private void createNewVisits(String label, String startRange, String endRange)
773771
private void createDatasetCategory(String projectName, String name)
774772
{
775773
goToProjectHome(projectName);
776-
goToManageViews();
777-
Locator.linkWithText("Manage Categories").findElement(getDriver()).click();
778-
_extHelper.waitForExtDialog("Manage Categories");
779-
Window<?> categoryWindow = new Window.WindowFinder(getDriver()).withTitle("Manage Categories").waitFor();
780-
categoryWindow.clickButton("New Category", 0);
781-
WebElement newCategoryField = Locator.input("label").withAttributeContaining("id", "textfield").notHidden().waitForElement(getDriver(), WAIT_FOR_JAVASCRIPT);
782-
setFormElementJS(newCategoryField, name);
783-
fireEvent(newCategoryField, SeleniumEvent.blur);
784-
waitForElement(Ext4Helper.Locators.window("Manage Categories").append("//div").withText(name));
785-
clickButton("Done", 0);
786-
_extHelper.waitForExtDialogToDisappear("Manage Categories");
774+
goToManageViews().createCategory(name);
787775
}
788776

789777
private String getCategory(String projectName, String datasetName)

0 commit comments

Comments
 (0)