Skip to content

Commit 8835785

Browse files
committed
Do not run the parallelPages() test against the Browserless server
It doesn't seem to support the parallel connections and consistently fails on macOS.
1 parent 9cd2df4 commit 8835785

File tree

2 files changed

+33
-33
lines changed

2 files changed

+33
-33
lines changed

src/jvmTest/kotlin/LocalIntegrationTestBase.kt

Lines changed: 5 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
1-
import kotlinx.coroutines.Dispatchers
2-
import kotlinx.coroutines.launch
3-
import kotlinx.coroutines.withContext
4-
import kotlinx.coroutines.withTimeoutOrNull
5-
import org.hildan.chrome.devtools.domains.accessibility.AXProperty
6-
import org.hildan.chrome.devtools.domains.accessibility.AXPropertyName
1+
import kotlinx.coroutines.*
2+
import org.hildan.chrome.devtools.*
3+
import org.hildan.chrome.devtools.domains.accessibility.*
74
import org.hildan.chrome.devtools.domains.dom.*
8-
import org.hildan.chrome.devtools.runTestWithRealTime
9-
import org.hildan.chrome.devtools.protocol.ExperimentalChromeApi
10-
import org.hildan.chrome.devtools.protocol.RequestNotSentException
5+
import org.hildan.chrome.devtools.protocol.*
116
import org.hildan.chrome.devtools.sessions.*
127
import org.junit.jupiter.api.Test
13-
import org.testcontainers.Testcontainers
8+
import org.testcontainers.*
149
import kotlin.test.*
1510
import kotlin.time.Duration.Companion.seconds
1611

@@ -110,29 +105,6 @@ abstract class LocalIntegrationTestBase : IntegrationTestBase() {
110105
}
111106
}
112107

113-
@OptIn(ExperimentalChromeApi::class)
114-
@Test
115-
fun parallelPages() = runTestWithRealTime {
116-
withResourceServerForTestcontainers { baseUrl ->
117-
chromeWebSocket().use { browser ->
118-
// we want all coroutines to finish before we close the browser session
119-
withContext(Dispatchers.IO) {
120-
repeat(20) {
121-
launch {
122-
browser.newPage().use { page ->
123-
page.goto("$baseUrl/test-server-pages/basic.html")
124-
page.runtime.getHeapUsage()
125-
val docRoot = page.dom.getDocumentRootNodeId()
126-
page.dom.describeNode(DescribeNodeRequest(docRoot, depth = 2))
127-
page.storage.getCookies()
128-
}
129-
}
130-
}
131-
}
132-
}
133-
}
134-
}
135-
136108
@OptIn(ExperimentalChromeApi::class)
137109
@Test
138110
fun sessionThrowsIOExceptionIfAlreadyClosed() = runTestWithRealTime {

src/jvmTest/kotlin/ZenikaIntegrationTests.kt

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
import kotlinx.coroutines.*
22
import org.hildan.chrome.devtools.*
3+
import org.hildan.chrome.devtools.domains.dom.DescribeNodeRequest
4+
import org.hildan.chrome.devtools.domains.dom.getDocumentRootNodeId
35
import org.hildan.chrome.devtools.protocol.*
6+
import org.hildan.chrome.devtools.sessions.goto
7+
import org.hildan.chrome.devtools.sessions.newPage
8+
import org.hildan.chrome.devtools.sessions.use
49
import org.junit.jupiter.api.Test
510
import org.testcontainers.containers.*
611
import org.testcontainers.junit.jupiter.*
@@ -60,4 +65,27 @@ class ZenikaIntegrationTests : LocalIntegrationTestBase() {
6065
message = "the google.com page target should be closed, got:\n${targetsAfterClose.joinToString("\n")}",
6166
)
6267
}
68+
69+
@OptIn(ExperimentalChromeApi::class)
70+
@Test
71+
fun parallelPages() = runTestWithRealTime {
72+
withResourceServerForTestcontainers { baseUrl ->
73+
chromeWebSocket().use { browser ->
74+
// we want all coroutines to finish before we close the browser session
75+
withContext(Dispatchers.IO) {
76+
repeat(20) {
77+
launch {
78+
browser.newPage().use { page ->
79+
page.goto("$baseUrl/test-server-pages/basic.html")
80+
page.runtime.getHeapUsage()
81+
val docRoot = page.dom.getDocumentRootNodeId()
82+
page.dom.describeNode(DescribeNodeRequest(docRoot, depth = 2))
83+
page.storage.getCookies()
84+
}
85+
}
86+
}
87+
}
88+
}
89+
}
90+
}
6391
}

0 commit comments

Comments
 (0)