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 {