microsoft / playwright

Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.
https://playwright.dev
Apache License 2.0
65.77k stars 3.58k forks source link

[BUG] blank page of Chrome browser came and vanished immediately while running testcase through playwright connecting to a remote selenium grid 4 #12666

Open satya081 opened 2 years ago

satya081 commented 2 years ago

Context:

@Test
    public void shouldAnswerWithTrue()
    {
        List<String> list=new ArrayList<String>();
        list.add("--start-maximized");
        Map<String, String> env = new HashMap<>();
        env.put("SELENIUM_REMOTE_URL", "http://10.567.163.145:4444");
        try(Playwright playwright = Playwright.create(new Playwright.CreateOptions().setEnv(env))){
            Browser browser = playwright.chromium().launch(new 
            BrowserType.LaunchOptions().setHeadless(false).setSlowMo(100).setArgs(list));
            BrowserContext browserContext = browser.newContext();
            Page page = browserContext.newPage();
        }
        catch (Exception e) {
            e.printStackTrace();
        }

When i am putting debugging point on Page page = browserContext.newPage(); debugger is not coming to this line. Before that chrome browser is opening in selenium grid 4 and vanished immediately. Testcase is not even failing. its running for infinite time. I have to cancel the testcase manually in intellij.

i am using mvn test command to run this testcase.

satya081 commented 2 years ago

You can refer this thread as well discussions regarding this issue https://app.slack.com/client/TSUHZPS85/threads/thread/CSUHZPVLM-1641495284.041400

satya081 commented 2 years ago

@yury-s Could you please help me to fix this issue.

yury-s commented 2 years ago

Can you try running with DEBUG=pw:browser and check the console output?

Does your server require particular SELENIUM_REMOTE_CAPABILITIES ?

satya081 commented 2 years ago

Yes, I added DEBUG=pw:browser in the environment variable, but I am not getting any more logs in the intellij console. Blank Chrome browser(without any url) is opened for around 20 seconds in selenium grid in EC2 linux container and closed then.

Capture

But testcase is running for indefinite time. i have to stop it manually by using stop button in intellij. image Please help.

satya081 commented 2 years ago

@yury-s @pavelfeldman

After upgrading the playwright version to 1.21.0 , I am getting same behavior (blank page of Chrome browser came in selenium grid machine and vanished after few seconds) what I have mentioned already but I am getting additional logs this time as below.

D:\Users\dasatya\test\java8\bin\java.exe -Dmaven.multiModuleProjectDirectory=D:\Users\dasatya\workspace\playwrightDemo "-Dmaven.home=C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2.1\plugins\maven\lib\maven3" "-Dclassworlds.conf=C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2.1\plugins\maven\lib\maven3\bin\m2.conf" "-Dmaven.ext.class.path=C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2.1\plugins\maven\lib\maven-event-listener.jar" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2.1\lib\idea_rt.jar=53090:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2.1\plugins\maven\lib\maven3\boot\plexus-classworlds-2.6.0.jar;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2.1\plugins\maven\lib\maven3\boot\plexus-classworlds.license" org.codehaus.classworlds.Launcher -Didea.version=2021.2.1 test [INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for org.example:playwrightDemo:jar:1.0-SNAPSHOT [WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: junit:junit:jar -> version 4.11 vs 4.13 @ line 33, column 17 [WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: junit:junit:jar -> version 4.11 vs 4.13 @ line 39, column 17 [WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. [WARNING] [WARNING] For this reason, future Maven versions might no longer support building such malformed projects. [WARNING] [INFO] [INFO] ---------------------< org.example:playwrightDemo >--------------------- [INFO] Building playwrightDemo 1.0-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ playwrightDemo --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory D:\Users\dasatya\workspace\playwrightDemo\src\main\resources [INFO] [INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ playwrightDemo --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-resources-plugin:3.0.2:testResources (default-testResources) @ playwrightDemo --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory D:\Users\dasatya\workspace\playwrightDemo\src\test\resources [INFO] [INFO] --- maven-compiler-plugin:3.8.0:testCompile (default-testCompile) @ playwrightDemo --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 1 source file to D:\Users\dasatya\workspace\playwrightDemo\target\test-classes [INFO] [INFO] --- maven-surefire-plugin:2.22.1:test (default-test) @ playwrightDemo --- [INFO] [INFO] ------------------------------------------------------- [INFO] T E S T S [INFO] ------------------------------------------------------- [INFO] Running org.example.AppTest [WARNING] Corrupted STDOUT by directly writing to native stream in forked JVM 1. See FAQ web page and the dump file D:\Users\dasatya\workspace\playwrightDemo\target\surefire-reports\2022-04-20T21-59-11_875-jvmRun1.dumpstream com.microsoft.playwright.PlaywrightException: Error { message='WebSocket error: connect ETIMEDOUT 192.168.64.3:4444 =========================== logs ===========================

connecting to http://10.178.50.179:2002/ connected to sessionId=6c55162c530407bb75ca11ad88736f47 using selenium v4 retrieved endpoint ws://192.168.64.3:4444/session/6c55162c530407bb75ca11ad88736f47/se/cdp for sessionId=6c55162c530407bb75ca11ad88736f47 ws://192.168.64.3:4444/session/6c55162c530407bb75ca11ad88736f47/se/cdp [object Object] ws://192.168.64.3:4444/session/6c55162c530407bb75ca11ad88736f47/se/cdp connect ETIMEDOUT 192.168.64.3:4444 ws://192.168.64.3:4444/session/6c55162c530407bb75ca11ad88736f47/se/cdp code=1006 reason= disconnecting from sessionId=6c55162c530407bb75ca11ad88736f47 disconnected from sessionId=6c55162c530407bb75ca11ad88736f47 ============================================================ name='Error stack='Error: WebSocket error: connect ETIMEDOUT 192.168.64.3:4444 =========================== logs =========================== connecting to http://10.178.50.179:2002/ connected to sessionId=6c55162c530407bb75ca11ad88736f47 using selenium v4 retrieved endpoint ws://192.168.64.3:4444/session/6c55162c530407bb75ca11ad88736f47/se/cdp for sessionId=6c55162c530407bb75ca11ad88736f47 ws://192.168.64.3:4444/session/6c55162c530407bb75ca11ad88736f47/se/cdp [object Object] ws://192.168.64.3:4444/session/6c55162c530407bb75ca11ad88736f47/se/cdp connect ETIMEDOUT 192.168.64.3:4444 ws://192.168.64.3:4444/session/6c55162c530407bb75ca11ad88736f47/se/cdp code=1006 reason= disconnecting from sessionId=6c55162c530407bb75ca11ad88736f47 disconnected from sessionId=6c55162c530407bb75ca11ad88736f47 ============================================================ at WebSocket. (D:\Users\dasatya\AppData\Local\Temp\1\playwright-java-3563333181081321286\package\lib\server\transport.js:46:16) at WebSocket.onError (D:\Users\dasatya\AppData\Local\Temp\1\playwright-java-3563333181081321286\package\node_modules\ws\lib\event-target.js:220:18) at WebSocket.emit (node:events:402:35) at emitErrorAndClose (D:\Users\dasatya\AppData\Local\Temp\1\playwright-java-3563333181081321286\package\node_modules\ws\lib\websocket.js:922:13) at ClientRequest. (D:\Users\dasatya\AppData\Local\Temp\1\playwright-java-3563333181081321286\package\node_modules\ws\lib\websocket.js:781:5) at ClientRequest.emit (node:events:390:28) at Socket.socketErrorListener (node:_http_client:447:9) at Socket.emit (node:events:390:28) at emitErrorNT (node:internal/streams/destroy:157:8) at emitErrorCloseNT (node:internal/streams/destroy:122:3) } at com.microsoft.playwright.impl.WaitableResult.get(WaitableResult.java:54) at com.microsoft.playwright.impl.ChannelOwner.runUntil(ChannelOwner.java:103) at com.microsoft.playwright.impl.Connection.sendMessage(Connection.java:105) at com.microsoft.playwright.impl.ChannelOwner.sendMessage(ChannelOwner.java:94) at com.microsoft.playwright.impl.BrowserTypeImpl.launchImpl(BrowserTypeImpl.java:49) at com.microsoft.playwright.impl.BrowserTypeImpl.lambda$launch$0(BrowserTypeImpl.java:41) at com.microsoft.playwright.impl.LoggingSupport.withLogging(LoggingSupport.java:47) at com.microsoft.playwright.impl.ChannelOwner.withLogging(ChannelOwner.java:79) at com.microsoft.playwright.impl.BrowserTypeImpl.launch(BrowserTypeImpl.java:41) at com.microsoft.playwright.impl.BrowserTypeImpl.launch(BrowserTypeImpl.java:32) at org.example.AppTest.shouldAnswerWithTrue(AppTest.java:33) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365) at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418) Caused by: com.microsoft.playwright.impl.DriverException: Error { message='WebSocket error: connect ETIMEDOUT 192.168.64.3:4444 =========================== logs =========================== connecting to http://10.178.50.179:2002/ connected to sessionId=6c55162c530407bb75ca11ad88736f47 using selenium v4 retrieved endpoint ws://192.168.64.3:4444/session/6c55162c530407bb75ca11ad88736f47/se/cdp for sessionId=6c55162c530407bb75ca11ad88736f47 ws://192.168.64.3:4444/session/6c55162c530407bb75ca11ad88736f47/se/cdp [object Object] ws://192.168.64.3:4444/session/6c55162c530407bb75ca11ad88736f47/se/cdp connect ETIMEDOUT 192.168.64.3:4444 ws://192.168.64.3:4444/session/6c55162c530407bb75ca11ad88736f47/se/cdp code=1006 reason= disconnecting from sessionId=6c55162c530407bb75ca11ad88736f47 disconnected from sessionId=6c55162c530407bb75ca11ad88736f47 ============================================================ name='Error stack='Error: WebSocket error: connect ETIMEDOUT 192.168.64.3:4444 =========================== logs =========================== connecting to http://10.178.50.179:2002/ connected to sessionId=6c55162c530407bb75ca11ad88736f47 using selenium v4 retrieved endpoint ws://192.168.64.3:4444/session/6c55162c530407bb75ca11ad88736f47/se/cdp for sessionId=6c55162c530407bb75ca11ad88736f47 ws://192.168.64.3:4444/session/6c55162c530407bb75ca11ad88736f47/se/cdp [object Object] ws://192.168.64.3:4444/session/6c55162c530407bb75ca11ad88736f47/se/cdp connect ETIMEDOUT 192.168.64.3:4444 ws://192.168.64.3:4444/session/6c55162c530407bb75ca11ad88736f47/se/cdp code=1006 reason= disconnecting from sessionId=6c55162c530407bb75ca11ad88736f47 disconnected from sessionId=6c55162c530407bb75ca11ad88736f47 ============================================================ at WebSocket. (D:\Users\dasatya\AppData\Local\Temp\1\playwright-java-3563333181081321286\package\lib\server\transport.js:46:16) at WebSocket.onError (D:\Users\dasatya\AppData\Local\Temp\1\playwright-java-3563333181081321286\package\node_modules\ws\lib\event-target.js:220:18) at WebSocket.emit (node:events:402:35) at emitErrorAndClose (D:\Users\dasatya\AppData\Local\Temp\1\playwright-java-3563333181081321286\package\node_modules\ws\lib\websocket.js:922:13) at ClientRequest. (D:\Users\dasatya\AppData\Local\Temp\1\playwright-java-3563333181081321286\package\node_modules\ws\lib\websocket.js:781:5) at ClientRequest.emit (node:events:390:28) at Socket.socketErrorListener (node:_http_client:447:9) at Socket.emit (node:events:390:28) at emitErrorNT (node:internal/streams/destroy:157:8) at emitErrorCloseNT (node:internal/streams/destroy:122:3) } at com.microsoft.playwright.impl.Connection.dispatch(Connection.java:183) at com.microsoft.playwright.impl.Connection.processOneMessage(Connection.java:163) at com.microsoft.playwright.impl.ChannelOwner.runUntil(ChannelOwner.java:101) ... 37 more [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 46.683 s - in org.example.AppTest [INFO] [INFO] Results: [INFO] [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 54.649 s [INFO] Finished at: 2022-04-20T22:00:00+02:00 [INFO] ------------------------------------------------------------------------ Process finished with exit code 0
satya081 commented 2 years ago

@yury-s @pavelfeldman Any update on this.

satya081 commented 2 years ago

@yury-s @pavelfeldman Any update on this.

sanyamtuteja commented 1 year ago

@satya081 Were you able to resolve this issue??? I am facing this same issue right now.

KSingla15 commented 1 year ago

Do we have a solution for this? I am facing the same issue.

s1-georgyb commented 1 year ago

Same for me, running playwright (not the testcafe) from python, with selenium-grid-4

VadimKrim commented 1 year ago

Same for me, running playwright with typescript and selenium-grid-4

satya081 commented 1 year ago

@yury-s @pavelfeldman Any update on this? its been 1 year we are facing this issue. playwright is coming with new version but this is very critical but you are not fixing this issue.

fuomag9 commented 1 year ago

same issue here

park0503 commented 10 months ago

same issue here playwright: 1.39.0 selenium grid : seleniarm/standalone-chromium:117.0-20230926