From 5cade9c1f2f34e69db2b10dc2187012f0f27119d Mon Sep 17 00:00:00 2001 From: "Maxim.Kolmakov" Date: Fri, 6 Oct 2017 13:54:52 +0200 Subject: [PATCH] [gui-tests] Use labelFor for componentWithBrowseButton lookup --- .../testGuiFramework/generators/Generators.kt | 6 +++--- .../testGuiFramework/impl/GuiTestCase.kt | 19 ++++++++----------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/platform/testGuiFramework/src/com/intellij/testGuiFramework/generators/Generators.kt b/platform/testGuiFramework/src/com/intellij/testGuiFramework/generators/Generators.kt index 5f951dafc6eb..5f04b0e6bdbe 100644 --- a/platform/testGuiFramework/src/com/intellij/testGuiFramework/generators/Generators.kt +++ b/platform/testGuiFramework/src/com/intellij/testGuiFramework/generators/Generators.kt @@ -115,9 +115,9 @@ class ComponentWithBrowseButtonGenerator : ComponentCodeGenerator ComponentFixture.componentWithBrowseButton(comboboxClass: Class>, + fun ComponentFixture.componentWithBrowseButton(boundedLabelText: String, timeout: Long = defaultTimeout): ComponentWithBrowseButtonFixture { if (target() is Container) { - val component = waitUntilFound(target() as Container, ComponentWithBrowseButton::class.java, timeout) { - it.isShowing && comboboxClass.isInstance(it) + val boundedLabel = waitUntilFound(target() as Container, JLabel::class.java, timeout) { + it.text == boundedLabelText + } + val component = boundedLabel.labelFor + if (component is ComponentWithBrowseButton<*>) { + return ComponentWithBrowseButtonFixture(component, guiTestRule.robot()) } - return ComponentWithBrowseButtonFixture(component, guiTestRule.robot()) } - else throw UnableToFindComponent("ComponentWithBrowseButton") + throw UnableToFindComponent("ComponentWithBrowseButton with labelFor=$boundedLabelText") } fun ComponentFixture.spinner(boundedLabelText: String, timeout: Long = defaultTimeout): JSpinnerFixture {