簡體   English   中英

Puppeteer - Cucumber - 使用一個瀏覽器進行測試

[英]Puppeteer - Cucumber - Use one browser for the tests

我在我的網絡應用程序上使用Puppeteer和Cucumber進行E2E測試。

在每個功能的每個“steps.js”文件中,我在before方法中有這個:

Before(async function() {
  this.browser = await puppeteer.launch({ headless: false });
  setDefaultTimeout(60 * 1000);
  this.page = await this.browser.newPage();
  await this.page.emulate(GalaxyS5);
  await this.page.goto(URL);
});

問題是當我通過.\\node_modules\\.bin\\cucumber-js test\\e2e\\features cucumber-js運行它時: .\\node_modules\\.bin\\cucumber-js test\\e2e\\features ,最終發生的事情是我打開了3個Chromium瀏覽器。 其中2個轉到我指定的URL,最后一個只是一個空白頁面。

打開所有瀏覽器后,URL重定向的2中的1個也開始執行測試。

似乎每個新場景,一個新的瀏覽器窗口打開都不好,因為我最終得到了很多瀏覽器窗口。 有沒有辦法指定Puppeteer只使用一個瀏覽器進行測試,或至少在每個功能文件的基礎上使用?

我的項目層次結構如下:

e2e/
- features/
    - feature1/
      - feature1.feature
      - steps.js (given, when, then, etc.)
    - feature2/
  - world.js

您是否嘗試過添加After:

After(async function() {
    // Teardown browser
    if (this.browser) {
       await this.browser.close();
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM