簡體   English   中英

在 Playwright 中,無法將 page.goto 與無頭 webkit 一起使用

[英]In Playwright, can't use page.goto with headless webkit

我正在嘗試在 Playwright 中為 Drupal 網站編寫測試。 我通過 WSL2 在 Ubuntu 20.04 上運行。

我在我的 Playwright 配置文件中設置了一個基數 url ( https://www.example.com )。

我有幾個簡單的步驟:

await this.page.goto('/user/logout');
await this.page.goto('/user/login');
await this.page.locator('input[name="name"]').fill('admin@example.com');
await this.page.locator('input[name="pass"]').fill('password');
await this.page.locator('input:has-text("Login")').click();
await this.page.waitForSelector('text="You are logged in"');
await this.page.goto('/admin/structure/webform/manage/myform', { waitUntil: 'networkIdle' });

我想在模擬 iPhone 上進行測試,所以我在我的配置文件中使用了它:

  name: 'iPhone 6/7/8',
  use: devices['iPhone 8'],

問題是,在這個僅處於無頭模式的 iPhone 8 模擬設備中,最后一個 goto 失敗( await this.page.goto('/admin/structure/webform/manage/myform') )。 當我運行測試時,它會 100% 地發生。

該測試在 webkit(桌面)、chrome(桌面)、firefox(桌面)和 android(移動)上運行良好。 當不是無頭時,該測試也適用於 iOS。 同樣的步驟適用於真實的 iOS 設備。

我需要在最后一步添加networkIdle以使其在無頭 Chrome(桌面和 Android)上運行,所以我猜我可能需要進行另一項更改才能使其在 iOS 上運行,但是什么?

當我觀看我的測試視頻時,當它進行到最后一步時,屏幕開始快速閃爍約 3 秒,然后變黑。

附加信息

根據Playwright 設備列表,我復制了 iPhone 8 的代碼並進行了實驗,看看具體是什么導致了錯誤。

如下所示,將isMobiletrue更改為false將允許測試通過。 因此,具體錯誤似乎與isMobile to true所做的任何設置有關。

  projects: [
    {
      name: 'iPhone 6/7/8',
      use: {
        userAgent:
          'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/15.4 Mobile/15A372 Safari/604.1',
        browserName: 'webkit',
        viewport: {
          width: 375,
          height: 667,
        },
        deviceScaleFactor: 2,
        isMobile: false,
        hasTouch: true,
        defaultBrowserType: 'webkit',
      },
    },
  ],

此處提交了劇作家錯誤報告。

playwright issue中所述,此行為似乎是由操作系統故障引起的(在我的例子中,Ubuntu 在 WSL2 上運行)。

這已通過更新 ubuntu 中的所有包解決; 不幸的是,有幾個包,我不確定哪個是確切的修復,但要點是:

  1. Ubuntu 和 WSL2 有時會出現圖形問題,可能會干擾編劇運行測試。
  2. 如果您開始看到問題,請更新 ubuntu,而不僅僅是package.json

暫無
暫無

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

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