Skip to content

Commit 9c8d6ae

Browse files
committed
Wait for LineageGraph to load
1 parent e69419c commit 9c8d6ae

3 files changed

Lines changed: 22 additions & 8 deletions

File tree

src/org/labkey/test/Locators.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ private Locators() { }
3030
public static final Locator.XPathLocator folderTab = Locator.tagWithClass("div", "lk-nav-tabs-ct").append(Locator.tagWithClass("ul", "lk-nav-tabs")).childTag("li");
3131
public static final Locator.XPathLocator panelWebpartTitle = Locator.byClass("labkey-wp-title-text");
3232
public static final Locator.XPathLocator folderTitle = Locator.tagWithClass("a", "lk-body-title-folder");
33+
public static final Locator.XPathLocator loadingSpinner = Locator.byClass("fa-spinner");
3334

3435
public static Locator.XPathLocator headerContainer()
3536
{

src/org/labkey/test/components/ui/grids/FieldSelectionDialog.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,7 @@ public FieldSelectionDialog removeAllSelectedFields()
400400
continue;
401401
}
402402

403+
getWrapper().mouseOver(removeIcon);
403404
removeIcon.click();
404405
}
405406

src/org/labkey/test/components/ui/lineage/LineageGraph.java

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package org.labkey.test.components.ui.lineage;
22

33
import org.labkey.test.Locator;
4+
import org.labkey.test.Locators;
5+
import org.labkey.test.WebDriverWrapper;
46
import org.labkey.test.components.Component;
57
import org.labkey.test.components.WebDriverComponent;
68
import org.labkey.test.components.react.Tabs;
@@ -48,6 +50,16 @@ public static LineageGraph showLineageGraph(WebDriver driver)
4850
return lineageGraph;
4951
}
5052

53+
@Override
54+
protected void waitForReady()
55+
{
56+
WebDriverWrapper.waitFor(()->
57+
elementCache().visGraphContainer.isDisplayed() &&
58+
elementCache().nodeDetailContainer.isDisplayed() &&
59+
!Locators.loadingSpinner.existsIn(this),
60+
"lineage graph did not load in time", 5_000);
61+
}
62+
5163
public Map<String, String> getCurrentNodeData()
5264
{
5365
return elementCache().detailTable().getTableDataByLabel();
@@ -178,16 +190,16 @@ final WebElement lineageItem(String name, WebElement tabPanel)
178190
// container for the details of the currently-selected node
179191
final WebElement nodeDetailContainer = Locator.tagWithClass("div", "lineage-node-detail-container")
180192
.findWhenNeeded(this).withTimeout(4000);
181-
WebElement componentDetailImage = Locator.tagWithClass("i", "component-detail--child--img")
193+
final WebElement componentDetailImage = Locator.tagWithClass("i", "component-detail--child--img")
182194
.child(Locator.tag("img")).findWhenNeeded(nodeDetailContainer);
183-
WebElement nodeDetailName = Locator.tagWithClass("h4", "lineage-name-data")
195+
final WebElement nodeDetailName = Locator.tagWithClass("h4", "lineage-name-data")
184196
.findWhenNeeded(nodeDetailContainer);
185-
WebElement nodeDetailLinksContainer = Locator.tagWithClass("div", "lineage-node-detail")
197+
final WebElement nodeDetailLinksContainer = Locator.tagWithClass("div", "lineage-node-detail")
186198
.findWhenNeeded(nodeDetailContainer);
187-
WebElement nodeOverviewLink = Locator.linkWithSpan("Overview").withClass("lineage-data-link--text")
199+
final WebElement nodeOverviewLink = Locator.linkWithSpan("Overview").withClass("lineage-data-link--text")
188200
.findWhenNeeded(nodeDetailLinksContainer);
189-
Locator lineageLinkLoc = Locator.linkWithSpan("Lineage").withClass("lineage-data-link--text");
190-
WebElement nodeLineageLink = lineageLinkLoc.findWhenNeeded(nodeDetailLinksContainer);
201+
final Locator lineageLinkLoc = Locator.linkWithSpan("Lineage").withClass("lineage-data-link--text");
202+
final WebElement nodeLineageLink = lineageLinkLoc.findWhenNeeded(nodeDetailLinksContainer);
191203
Tabs nodeDetailsTabs()
192204
{
193205
return new Tabs.TabsFinder(getDriver()).findWhenNeeded(nodeDetailContainer);
@@ -198,9 +210,9 @@ DetailTable detailTable()
198210
return new DetailTable.DetailTableFinder(getDriver()).waitFor(nodeDetailContainer);
199211
}
200212

201-
WebElement nodeDetails = Locator.tagWithClass("div", "lineage-node-detail")
213+
final WebElement nodeDetails = Locator.tagWithClass("div", "lineage-node-detail")
202214
.findWhenNeeded(nodeDetailContainer).withTimeout(3000);
203-
WebElement nodeDetailsName = Locator.tagWithClass("div", "lineage-name-data")
215+
final WebElement nodeDetailsName = Locator.tagWithClass("div", "lineage-name-data")
204216
.findWhenNeeded(nodeDetails);
205217

206218
NodeDetailGroup summaryList(String nodeLabel)

0 commit comments

Comments
 (0)