mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PCQA-1378 Write 'No venv suggested as base Python' test
GitOrigin-RevId: 93a978684810833b90fec32cef780c558918deca
This commit is contained in:
committed by
intellij-monorepo-bot
parent
70beb61277
commit
240243fc49
+19
-4
@@ -5,12 +5,13 @@ import com.intellij.driver.sdk.step
|
||||
import com.intellij.driver.sdk.ui.Finder
|
||||
import com.intellij.driver.sdk.ui.components.ComponentData
|
||||
import com.intellij.driver.sdk.ui.components.UiComponent
|
||||
import com.intellij.driver.sdk.ui.components.elements.accessibleList
|
||||
import com.intellij.driver.sdk.ui.components.elements.checkBox
|
||||
import com.intellij.driver.sdk.ui.components.elements.popup
|
||||
import com.intellij.driver.sdk.ui.components.elements.comboBox
|
||||
import com.intellij.driver.sdk.ui.components.elements.textField
|
||||
import com.intellij.driver.sdk.ui.shouldBe
|
||||
import com.intellij.driver.sdk.ui.ui
|
||||
import javax.swing.JTextField
|
||||
import kotlin.time.Duration.Companion.seconds
|
||||
|
||||
fun Finder.newProjectDialog(action: NewProjectDialogUI.() -> Unit) {
|
||||
x("//div[@title='New Project']", NewProjectDialogUI::class.java).action()
|
||||
@@ -40,8 +41,11 @@ open class NewProjectDialogUI(data: ComponentData) : UiComponent(data) {
|
||||
|
||||
fun selectJdk(jdkVersion: String) {
|
||||
step("Pick JDK version") {
|
||||
x("//div[@accessiblename='JDK:']/div[@class='BasicArrowButton']").click()
|
||||
driver.ui.popup().accessibleList().clickItem(jdkVersion, false)
|
||||
this.comboBox { byClass("ProjectWizardJdkComboBox") }
|
||||
.apply {
|
||||
val expectedItem = listValues().first { it.contains(jdkVersion) }
|
||||
selectItemContains(expectedItem)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,6 +67,15 @@ open class NewProjectDialogUI(data: ComponentData) : UiComponent(data) {
|
||||
.click()
|
||||
}
|
||||
|
||||
fun getBasePythonInterpreters(): List<String> {
|
||||
interpreterSelector.waitFound().shouldBe(
|
||||
message = "Wait for interpreter list to appear",
|
||||
timeout = 5.seconds,
|
||||
condition = { listValues().isNotEmpty() }
|
||||
)
|
||||
return interpreterSelector.listValues()
|
||||
}
|
||||
|
||||
val nameTextField = textField { and(byAccessibleName("Name:"), byType(JTextField::class.java)) }
|
||||
val groupField = textField { and(byAccessibleName("Group:"), byType(JTextField::class.java)) }
|
||||
val artifactField = textField { and(byAccessibleName("Artifact:"), byType(JTextField::class.java)) }
|
||||
@@ -75,5 +88,7 @@ open class NewProjectDialogUI(data: ComponentData) : UiComponent(data) {
|
||||
val compactStructureLabel = checkBox { byText("Use compact project structure") }
|
||||
val createMainPyCheckbox = checkBox { byText("Create a welcome script") }
|
||||
val installMinicondaLink = x("//div[@text='Install Miniconda']")
|
||||
val projectVenvButton = x { byAccessibleName("Project venv") }
|
||||
private val interpreterSelector = comboBox { byClass("PythonInterpreterComboBox") }
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user