From 6e3e6b7a1d78516455612ec6ff06374c3e4c3c8c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 28 Mar 2026 14:16:46 +0000 Subject: [PATCH 1/2] Initial plan From ac76fb1f5dd0833c23d73afb52df7210b55790ac Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 28 Mar 2026 14:24:31 +0000 Subject: [PATCH 2/2] Update all dependencies to latest stable versions Agent-Logs-Url: https://github.com/DarkWeird/SeKt/sessions/1aa5d86c-be1f-4919-9241-4ed0edb5414b Co-authored-by: DarkWeird <2724433+DarkWeird@users.noreply.github.com> --- browserstack/build.gradle.kts | 3 +- build.gradle.kts | 4 +- core/build.gradle.kts | 6 +- examples/common/build.gradle.kts | 4 +- .../me/darkweird/example/theinternettests.kt | 70 +++++++++---------- .../build.gradle.kts | 8 +-- .../the-internet-w3c-ktor/build.gradle.kts | 4 +- gradle.properties | 4 +- gradle/wrapper/gradle-wrapper.properties | 2 +- w3c/build.gradle.kts | 6 +- 10 files changed, 55 insertions(+), 56 deletions(-) diff --git a/browserstack/build.gradle.kts b/browserstack/build.gradle.kts index 72815e7..0bcd6f0 100644 --- a/browserstack/build.gradle.kts +++ b/browserstack/build.gradle.kts @@ -16,9 +16,8 @@ repositories { dependencies { implementation(kotlin("stdlib")) implementation(project(":core")) - implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.0") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.1") api("io.github.darkweird:browserstack.kt:0.3.1") implementation("io.ktor:ktor-client-auth-jvm:$ktor_version") - implementation("io.ktor:ktor-client-serialization-jvm:$ktor_version") } \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 4e17781..367a612 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,6 +1,6 @@ plugins { - kotlin("jvm") version "1.7.10" - kotlin("plugin.serialization") version "1.7.10" + kotlin("jvm") version "2.1.21" + kotlin("plugin.serialization") version "2.1.21" } group = "me.darkweird.sekt" diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 6eb88bc..b31fa4f 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -16,13 +16,13 @@ repositories { dependencies { implementation(kotlin("stdlib")) - implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.0") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.1") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2") implementation("io.ktor:ktor-client-content-negotiation:$ktor_version") implementation("io.ktor:ktor-serialization-kotlinx-json:$ktor_version") implementation("io.ktor:ktor-client-core-jvm:$ktor_version") implementation("io.ktor:ktor-client-cio-jvm:$ktor_version") - testImplementation("io.kotest:kotest-runner-junit5:4.6.2") + testImplementation("io.kotest:kotest-runner-junit5:5.9.1") testImplementation("io.ktor:ktor-client-mock-jvm:$ktor_version") } \ No newline at end of file diff --git a/examples/common/build.gradle.kts b/examples/common/build.gradle.kts index 0fbeb9b..8da9a16 100644 --- a/examples/common/build.gradle.kts +++ b/examples/common/build.gradle.kts @@ -18,7 +18,7 @@ dependencies { implementation(kotlin("stdlib")) implementation(project(":core")) implementation(project(":w3c")) - implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.0") - implementation("io.kotest:kotest-runner-junit5:5.4.2") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.1") + implementation("io.kotest:kotest-runner-junit5:5.9.1") } diff --git a/examples/common/src/main/kotlin/me/darkweird/example/theinternettests.kt b/examples/common/src/main/kotlin/me/darkweird/example/theinternettests.kt index f5a163c..fa929b1 100644 --- a/examples/common/src/main/kotlin/me/darkweird/example/theinternettests.kt +++ b/examples/common/src/main/kotlin/me/darkweird/example/theinternettests.kt @@ -24,7 +24,7 @@ fun FunSpec.theInternetTests( withTestSession: suspend (name: String, block: suspend Session.() -> Unit) -> Unit ) { test("Add/remove elements") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/add_remove_elements/")) val addButton = findElement(tagName("button")) @@ -41,25 +41,25 @@ fun FunSpec.theInternetTests( } xtest("Basic auth") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/basic_auth")) } } xtest("Broken images") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/broken_images")) } } xtest("Challenging DOM") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/challenging_dom")) } } test("Checkboxes") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/checkboxes")) val checkboxes = findElements(xpath("//form[@id='checkboxes']/input")) @@ -73,7 +73,7 @@ fun FunSpec.theInternetTests( } test("Context Menu") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/context_menu")) val contextMenuTarget = findElement(css("#hot-spot")) @@ -97,7 +97,7 @@ fun FunSpec.theInternetTests( } xtest("Digest Authentication") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/")) } @@ -105,14 +105,14 @@ fun FunSpec.theInternetTests( xtest("Disappearing Elements") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/disappearing_elements")) } } test("Drag and Drop") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/drag_and_drop")) val (firstColumn, secondColumn) = findElement(css("#columns")).findElements(tagName("div")) @@ -169,7 +169,7 @@ fun FunSpec.theInternetTests( } test("Dropdown List") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/dropdown")) val select = findElement(css("#dropdown")) select.getProperty("value") shouldBe "" @@ -183,7 +183,7 @@ fun FunSpec.theInternetTests( } xtest("Dynamic Content") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/dynamic_content")) } @@ -191,7 +191,7 @@ fun FunSpec.theInternetTests( // Fixme stuck at check box disappear xtest("Dynamic Controls") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/dynamic_controls")) // Checkbox check @@ -218,7 +218,7 @@ fun FunSpec.theInternetTests( } test("Dynamic Loading/1") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/dynamic_loading")) findElement(linkText("Example 1: Element on page that is hidden")).click() @@ -236,7 +236,7 @@ fun FunSpec.theInternetTests( } test("Dynamic Loading/2") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/dynamic_loading")) findElement(linkText("Example 1: Element on page that is hidden")).click() @@ -256,42 +256,42 @@ fun FunSpec.theInternetTests( } xtest("Entry Ad") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/entry_ad")) } } xtest("Exit Intent") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/exit_intent")) } } xtest("File Download") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/download")) } } xtest("File Unload") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/upload")) } } xtest("Floating menu") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/floating_menu")) } } xtest("Forgot Password") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/forgot_password")) @@ -299,7 +299,7 @@ fun FunSpec.theInternetTests( } test("Form Authentication/1") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/login")) findElement(css("#username")).sendKeys(Text("tomsmith")) @@ -311,7 +311,7 @@ fun FunSpec.theInternetTests( } test("Form Authentication/2") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/login")) findElement(css("#login button")).click() @@ -321,7 +321,7 @@ fun FunSpec.theInternetTests( } test("Form Authentication/3") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/login")) findElement(css("#username")).sendKeys(Text("tomsmith")) @@ -332,7 +332,7 @@ fun FunSpec.theInternetTests( } test("Nested frames") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/nested_frames")) runCatching { findElement(css("frameset")) }.shouldBeSuccess() @@ -365,7 +365,7 @@ fun FunSpec.theInternetTests( } test("iframes") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/iframe")) runCatching { findElement(css("#tinymce")) }.shouldBeFailure() @@ -376,13 +376,13 @@ fun FunSpec.theInternetTests( } xtest("Geolocation") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/geolocation")) } } test("Horizontal Slider") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/horizontal_slider")) val slider = findElement(tagName("input")) val rangeValue = findElement(css("#range")) @@ -414,7 +414,7 @@ fun FunSpec.theInternetTests( } test("Hovers") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/hovers")) val figures = findElements(css(".figure")) performActions( @@ -437,7 +437,7 @@ fun FunSpec.theInternetTests( } xtest("Infinity Scroll") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/infinite_scroll")) @@ -445,14 +445,14 @@ fun FunSpec.theInternetTests( } xtest("Inputs") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/inputs")) } } test("Windows") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/windows")) findElement(linkText("Click Here")).click() switchToWindow(WindowHandle((getWindowHandles() - getWindowHandle()).first())) @@ -462,7 +462,7 @@ fun FunSpec.theInternetTests( } xtest("Notification Message") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/notification_message_rendered")) @@ -470,7 +470,7 @@ fun FunSpec.theInternetTests( } xtest("Redirections") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/redirector")) @@ -478,7 +478,7 @@ fun FunSpec.theInternetTests( } xtest("Secure File Download") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/download-secure")) @@ -486,7 +486,7 @@ fun FunSpec.theInternetTests( } xtest("Shadow DOM") { - withTestSession(testCase.displayName) { + withTestSession(testCase.name.testName) { setUrl(PageUrl("$webUrl/shadow_dom")) diff --git a/examples/the-internet-browserstack/build.gradle.kts b/examples/the-internet-browserstack/build.gradle.kts index 4408e60..436a6d3 100644 --- a/examples/the-internet-browserstack/build.gradle.kts +++ b/examples/the-internet-browserstack/build.gradle.kts @@ -19,13 +19,13 @@ dependencies { implementation(project(":core")) implementation(project(":browserstack")) implementation(project(":w3c")) - implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.0") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.1") testImplementation(project(":examples:common")) - testImplementation("io.kotest:kotest-runner-junit5:5.4.2") - testImplementation("io.kotest:kotest-framework-datatest:5.4.2") - testImplementation("ch.qos.logback:logback-classic:1.2.10") + testImplementation("io.kotest:kotest-runner-junit5:5.9.1") + testImplementation("io.kotest:kotest-framework-datatest:5.9.1") + testImplementation("ch.qos.logback:logback-classic:1.5.18") testImplementation("io.ktor:ktor-client-cio-jvm:$ktor_version") testImplementation("io.ktor:ktor-client-logging-jvm:$ktor_version") } diff --git a/examples/the-internet-w3c-ktor/build.gradle.kts b/examples/the-internet-w3c-ktor/build.gradle.kts index 930333e..0e99afd 100644 --- a/examples/the-internet-w3c-ktor/build.gradle.kts +++ b/examples/the-internet-w3c-ktor/build.gradle.kts @@ -18,10 +18,10 @@ dependencies { implementation(kotlin("stdlib")) implementation(project(":core")) implementation(project(":w3c")) - implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.0") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.1") testImplementation(project(":examples:common")) - testImplementation("io.kotest:kotest-runner-junit5:5.4.2") + testImplementation("io.kotest:kotest-runner-junit5:5.9.1") testImplementation("io.ktor:ktor-client-cio-jvm:$ktor_version") } diff --git a/gradle.properties b/gradle.properties index 7ad65c2..b07c1ca 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ kotlin.code.style=official -ktor_version=2.1.0 -kotlin_version=1.7.10 \ No newline at end of file +ktor_version=3.1.3 +kotlin_version=2.1.21 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index da9702f..e1adfb4 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/w3c/build.gradle.kts b/w3c/build.gradle.kts index a3f3211..a80e6f2 100644 --- a/w3c/build.gradle.kts +++ b/w3c/build.gradle.kts @@ -17,14 +17,14 @@ dependencies { implementation(kotlin("stdlib")) implementation(project(":core")) - implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.0") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.1") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2") implementation("io.ktor:ktor-client-content-negotiation:$ktor_version") implementation("io.ktor:ktor-serialization-kotlinx-json:$ktor_version") implementation("io.ktor:ktor-client-core-jvm:$ktor_version") implementation("io.ktor:ktor-client-cio-jvm:$ktor_version") - testImplementation("io.kotest:kotest-runner-junit5:5.4.2") + testImplementation("io.kotest:kotest-runner-junit5:5.9.1") testImplementation("io.ktor:ktor-client-mock-jvm:$ktor_version") }