Move the integration test suite to Playwright

オープン
#7,617 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
45/100
issue の種類
リファクタリング
明瞭さ
おおむね明確
活発さ
活発
技術スタック
github-actions, playwright, python
領域
ci-cd, testing, web-dev

調査の方向性

Start with tests/integration/ and tests/integration/tests_playwright/, then read CLAUDE.md for the preferred Playwright test layout. Review tests/integration/utils.py and the CI workflows to identify Selenium helpers, coverage modes, and matrix legs; related issue #6384 covers navigation waits. Done means the remaining integration coverage runs through Playwright with one gated workflow and no Selenium dependency.

索引モデルが issue の本文から書いたものです。

説明

roadmap

Summary

Finish migrating tests/integration/ from Selenium to Playwright, so there is one browser-driving harness, one set of test utilities and one CI gate to maintain.

Current state

  • tests/integration/*.py holds 44 modules, 34 of them driving Selenium (run in dev and prod modes).
  • tests/integration/tests_playwright/ holds 27 modules and is the preferred home for new tests (see CLAUDE.md).
  • Both suites build apps through AppHarness, but keep separate polling and assertion helpers.

Plan

  1. Port each Selenium module into tests_playwright/, extending an existing Playwright app rather than creating a new one when the cases are small.
  2. Replace the Selenium-era helpers in tests/integration/utils.py (polling, event ordering, storage access) with Playwright-native waits and expect assertions; #6384 covers the navigation helper.
  3. Keep dev and prod coverage where the Selenium suite had it.
  4. Remove Selenium, its CI matrix legs and its dependency, and collapse the integration workflows into a single gated workflow.

Related

  • #6384 integration tests: switch poll_for_navigation to Playwright wait_for_url
  • #7611 unit tests for the shipped frontend JavaScript (the unit-level complement)
主要言語
Python
スター
29k
フォーク
1.8k
平均マージ
2日 22時間
マージ済み PR(30日)
143

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

reflex-dev/reflex のほかの issue

reflex-dev/reflex の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。