diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3e2d1b2..6800675 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -31,4 +31,4 @@ jobs: - name: Test in Firefox env: BROWSER: firefox - run: ./gradlew test -rerun-tasks --tests "seleniumtestinglib.locators.*" + run: ./gradlew test -rerun-tasks diff --git a/lib/build.gradle.kts b/lib/build.gradle.kts index 05d1322..dd21edd 100644 --- a/lib/build.gradle.kts +++ b/lib/build.gradle.kts @@ -22,6 +22,11 @@ dependencies { tasks.test { useJUnitPlatform() + filter { + if (System.getenv("BROWSER") == "firefox") { + excludeTestsMatching("*.interactions.*") + } + } } java { diff --git a/lib/src/main/kotlin/seleniumtestinglib/JestDom.kt b/lib/src/main/kotlin/seleniumtestinglib/JestDom.kt index e7d4657..44d7ef6 100644 --- a/lib/src/main/kotlin/seleniumtestinglib/JestDom.kt +++ b/lib/src/main/kotlin/seleniumtestinglib/JestDom.kt @@ -95,7 +95,7 @@ data class JestDomMatcher( fun toHaveAccessibleName() { requireNotNull(element) - validate(element.accessibleName.isNotBlank()) + validate(element.accessibleName.isNullOrBlank().not()) } fun toHaveAccessibleName(expectedAccessibleName: String) { diff --git a/lib/src/main/kotlin/seleniumtestinglib/WebElement.kt b/lib/src/main/kotlin/seleniumtestinglib/WebElement.kt index 521566b..1972f01 100644 --- a/lib/src/main/kotlin/seleniumtestinglib/WebElement.kt +++ b/lib/src/main/kotlin/seleniumtestinglib/WebElement.kt @@ -65,7 +65,8 @@ val WebElement.isFocused: Boolean get() = equals(wrappedDriver.switchTo().activeElement()) val WebElement.isRequired - get() = ((tagName == "input") and (getAttribute("type") == "file") or (ariaRole?.lowercase() in setOf( + get() = ((tagName == "input") and (getAttribute("type") in setOf("file", "password", "date")) + or (ariaRole?.lowercase() in setOf( "textbox", "checkbox", "radio", @@ -73,7 +74,6 @@ val WebElement.isRequired "spinbutton", "combobox", "listbox", - "date", ))) and (getAttribute("required") in setOf( "", "true" @@ -155,4 +155,4 @@ enum class Event { AnimationStart, AnimationEnd, AnimationIteration, TransitionCancel, TransitionEnd, TransitionRun, TransitionStart, PointerOver, PointerEnter, PointerDown, PointerMove, PointerUp, PointerCancel, PointerOut, PointerLeave, GotPointerCapture, LostPointerCapture, PopState, Offline, Online, DoubleClick -} \ No newline at end of file +} diff --git a/lib/src/test/kotlin/seleniumtestinglib/jestdom/AccessibleNameTest.kt b/lib/src/test/kotlin/seleniumtestinglib/jestdom/AccessibleNameTest.kt index c8edfe6..80553b7 100644 --- a/lib/src/test/kotlin/seleniumtestinglib/jestdom/AccessibleNameTest.kt +++ b/lib/src/test/kotlin/seleniumtestinglib/jestdom/AccessibleNameTest.kt @@ -8,6 +8,7 @@ import seleniumtestinglib.expect import seleniumtestinglib.render import kotlin.test.Test import kotlin.test.assertEquals +import kotlin.test.assertTrue import kotlin.text.RegexOption.IGNORE_CASE class AccessibleNameTest { @@ -19,7 +20,6 @@ class AccessibleNameTest { """accessible name""", """""", """""", - """