Я использую этот метод в своей структуре, и он начал давать мне исключение, например "org.eclipse.swtbot.swt.finder.exceptions.AssertionFailedException: сбой утверждения: индекс (1) был больше, чем количество узлов (1 ) в дереве. "
Ниже приводится структура:
<RootNode>
<ChildNode1>
<GrandChildNode1/>
</ChildNode1>
<ChildNode2/>
</RootNode>
Ниже приведен код. Если я печатаю узел с индексом 2 в методе «isTreeNodeWithIndexPresent», он выдает правильный «ChildNode2». Выдается только исключение, когда проходит через метод getNode.
public boolean isTreeNodeWithIndexPresent(final String node, final int nodeIndex) {
boolean status = false;
if (node.length() > 0) {
final SWTBotTreeItem[] botTreeItem = tree.getAllItems();
for (final SWTBotTreeItem swtBotTreeItem : botTreeItem) {
status = swtBotTreeItem.getNode(node, nodeIndex).isVisible();
}
}
return status;
}.
public SWTBotTreeItem getNode(final String nodeText, final int index) {
List<SWTBotTreeItem> nodes = getNodes(nodeText);
Assert.isTrue(index < nodes.size(),
MessageFormat.format("The index ({0}) was more than the number of nodes ({1}) in the tree.", index, nodes.size()));
return nodes.get(index);
}