最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

hook - Playwright with Java - 'TargetClosedError:Target page, context or browser has been closed error - Stack Overflow

programmeradmin4浏览0评论

I am new to playwright and can someone help me how to resolve this error?

This is the browser initiation method in base test

public void initBrowser() {
        playwright = Playwright.create();
        String headless = config.headLess;

        boolean isHeadless = Boolean.parseBoolean(headless);
        browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(isHeadless));
        System.out.println(browser);
        context = browser.newContext();
        System.out.println(context);
        page = context.newPage();
    }

This is the closeBrowser method in base test

public void closeBrowser() {
    context.close();
    browser.close();
    playwright.close();
}

This is the hooks class

public class Hooks { BasePage basePage = new BasePage();

@Before
public void setup() {
    basePage.initBrowser();
}

@After
public void tearDown() {
    basePage.closeBrowser();
}

}

When run the code I see this error. Browser opens, but closes straightaway without running further steps. Framework is BDD(cucumber) with playwright and Java.This issue is only when run on the code using chromium on mac machine(we ran this code on windows and all looks good). This code also worked fine on Firefox and Webkit (mac/windows both).

com.microsoft.playwright.impl.BrowserImpl@28276e50
com.microsoft.playwright.impl.BrowserContextImpl@36b0fcd5
      com.microsoft.playwright.PlaywrightException: Error {
  message='Target page, context or browser has been closed
  name='TargetClosedError
  stack='TargetClosedError:Target page, context or browser has been closed
Error
    at captureRawStack (/private/var/folders/y1/hjtdt91x4r55hpcdsg5v_2vh0000gp/T/playwright-java-15087204804003979156/package/lib/utils/stackTrace.js:50:17)
    at LongStandingScope._race (/private/var/folders/y1/hjtdt91x4r55hpcdsg5v_2vh0000gp/T/playwright-java-15087204804003979156/package/lib/utils/manualPromise.js:91:52)
    at LongStandingScope.race (/private/var/folders/y1/hjtdt91x4r55hpcdsg5v_2vh0000gp/T/playwright-java-15087204804003979156/package/lib/utils/manualPromise.js:84:17)
    at BrowserContextDispatcher._handleCommand (/private/var/folders/y1/hjtdt91x4r55hpcdsg5v_2vh0000gp/T/playwright-java-15087204804003979156/package/lib/server/dispatchers/dispatcher.js:96:36)
    at DispatcherConnection.dispatch (/private/var/folders/y1/hjtdt91x4r55hpcdsg5v_2vh0000gp/T/playwright-java-15087204804003979156/package/lib/server/dispatchers/dispatcher.js:362:39)
}
    at com.microsoft.playwright.impl.WaitableResult.get(WaitableResult.java:54)
    at com.microsoft.playwright.impl.ChannelOwner.runUntil(ChannelOwner.java:120)
    at com.microsoft.playwright.impl.Connection.sendMessage(Connection.java:129)
    at com.microsoft.playwright.impl.ChannelOwner.sendMessage(ChannelOwner.java:106)
    at com.microsoft.playwright.impl.ChannelOwner.sendMessage(ChannelOwner.java:101)
    at com.microsoft.playwright.impl.BrowserContextImpl.newPageImpl(BrowserContextImpl.java:419)
    at com.microsoft.playwright.impl.BrowserContextImpl.lambda$newPage$13(BrowserContextImpl.java:412)
    at com.microsoft.playwright.impl.LoggingSupport.withLogging(LoggingSupport.java:47)
    at com.microsoft.playwright.impl.ChannelOwner.withLogging(ChannelOwner.java:89)
    at com.microsoft.playwright.impl.BrowserContextImpl.newPage(BrowserContextImpl.java:412)
    at com.microsoft.playwright.impl.BrowserContextImpl.newPage(BrowserContextImpl.java:44)
    at pages.BasePage.initBrowser(BasePage.java:24)
    at hooks.Hooks.setup(Hooks.java:12)
Caused by: com.microsoft.playwright.impl.TargetClosedError: Error {
  message='Target page, context or browser has been closed
  name='TargetClosedError
  stack='TargetClosedError:Target page, context or browser has been closed
Error

I am new to playwright and can someone help me how to resolve this error?

This is the browser initiation method in base test

public void initBrowser() {
        playwright = Playwright.create();
        String headless = config.headLess;

        boolean isHeadless = Boolean.parseBoolean(headless);
        browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(isHeadless));
        System.out.println(browser);
        context = browser.newContext();
        System.out.println(context);
        page = context.newPage();
    }

This is the closeBrowser method in base test

public void closeBrowser() {
    context.close();
    browser.close();
    playwright.close();
}

This is the hooks class

public class Hooks { BasePage basePage = new BasePage();

@Before
public void setup() {
    basePage.initBrowser();
}

@After
public void tearDown() {
    basePage.closeBrowser();
}

}

When run the code I see this error. Browser opens, but closes straightaway without running further steps. Framework is BDD(cucumber) with playwright and Java.This issue is only when run on the code using chromium on mac machine(we ran this code on windows and all looks good). This code also worked fine on Firefox and Webkit (mac/windows both).

com.microsoft.playwright.impl.BrowserImpl@28276e50
com.microsoft.playwright.impl.BrowserContextImpl@36b0fcd5
      com.microsoft.playwright.PlaywrightException: Error {
  message='Target page, context or browser has been closed
  name='TargetClosedError
  stack='TargetClosedError:Target page, context or browser has been closed
Error
    at captureRawStack (/private/var/folders/y1/hjtdt91x4r55hpcdsg5v_2vh0000gp/T/playwright-java-15087204804003979156/package/lib/utils/stackTrace.js:50:17)
    at LongStandingScope._race (/private/var/folders/y1/hjtdt91x4r55hpcdsg5v_2vh0000gp/T/playwright-java-15087204804003979156/package/lib/utils/manualPromise.js:91:52)
    at LongStandingScope.race (/private/var/folders/y1/hjtdt91x4r55hpcdsg5v_2vh0000gp/T/playwright-java-15087204804003979156/package/lib/utils/manualPromise.js:84:17)
    at BrowserContextDispatcher._handleCommand (/private/var/folders/y1/hjtdt91x4r55hpcdsg5v_2vh0000gp/T/playwright-java-15087204804003979156/package/lib/server/dispatchers/dispatcher.js:96:36)
    at DispatcherConnection.dispatch (/private/var/folders/y1/hjtdt91x4r55hpcdsg5v_2vh0000gp/T/playwright-java-15087204804003979156/package/lib/server/dispatchers/dispatcher.js:362:39)
}
    at com.microsoft.playwright.impl.WaitableResult.get(WaitableResult.java:54)
    at com.microsoft.playwright.impl.ChannelOwner.runUntil(ChannelOwner.java:120)
    at com.microsoft.playwright.impl.Connection.sendMessage(Connection.java:129)
    at com.microsoft.playwright.impl.ChannelOwner.sendMessage(ChannelOwner.java:106)
    at com.microsoft.playwright.impl.ChannelOwner.sendMessage(ChannelOwner.java:101)
    at com.microsoft.playwright.impl.BrowserContextImpl.newPageImpl(BrowserContextImpl.java:419)
    at com.microsoft.playwright.impl.BrowserContextImpl.lambda$newPage$13(BrowserContextImpl.java:412)
    at com.microsoft.playwright.impl.LoggingSupport.withLogging(LoggingSupport.java:47)
    at com.microsoft.playwright.impl.ChannelOwner.withLogging(ChannelOwner.java:89)
    at com.microsoft.playwright.impl.BrowserContextImpl.newPage(BrowserContextImpl.java:412)
    at com.microsoft.playwright.impl.BrowserContextImpl.newPage(BrowserContextImpl.java:44)
    at pages.BasePage.initBrowser(BasePage.java:24)
    at hooks.Hooks.setup(Hooks.java:12)
Caused by: com.microsoft.playwright.impl.TargetClosedError: Error {
  message='Target page, context or browser has been closed
  name='TargetClosedError
  stack='TargetClosedError:Target page, context or browser has been closed
Error
Share Improve this question edited Jan 21 at 14:45 ggorlen 56.9k8 gold badges110 silver badges150 bronze badges asked Jan 20 at 16:13 PrasaPrasa 51 silver badge3 bronze badges 1
  • This problem was solved by adding latest playwright dependancy 1.49.0 – Prasa Commented Jan 22 at 11:09
Add a comment  | 

1 Answer 1

Reset to default 0

Adding latest playwright dependancy solved this issue

<dependency>
    <groupId>com.microsoft.playwright</groupId>
    <artifactId>playwright</artifactId>
    <version>1.49.0</version>
</dependency>

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论