Skip to content

[GRDM-62502] E2Eテストのエラー改善 - #49

Merged
yacchin1205 merged 4 commits into
mainfrom
fix/workflow-e2e-login-race
Aug 21, 2026
Merged

[GRDM-62502] E2Eテストのエラー改善#49
yacchin1205 merged 4 commits into
mainfrom
fix/workflow-e2e-login-race

Conversation

@yacchin1205

@yacchin1205 yacchin1205 commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Purpose

問題1: 再ログインステップ直後のスクリーンショットが確率的に失敗する

Workflowアドオンの E2E(自動有効化 / 公開範囲の設定 の institution 変種)で、「テンプレート管理プロジェクトのURLを開き、テンプレート登録者でログインする」ステップ直後のスクリーンショットが Page.screenshot: Protocol error (Page.captureScreenshot): Unable to capture screenshot で失敗することがあります(https://github.com/RCOSDP/RDM-e2e-test-nb/actions/runs/32126230244 の attempt 1/2 双方で発生。rdm=develop 構成の run でも同一シグネチャを確認)。

原因は、このステップが grdm.login(FakeCAS 経路は submit クリック後に何も待たずに戻る)の直後に終わるため、run_pw のステップ後スクリーンショットが FakeCAS → CAS → RDM のクロスオリジンリダイレクト連鎖と競合することです。Chromium はクロスオリジン遷移でレンダラプロセスを交換するため、描画面が存在しない瞬間に Page.captureScreenshot が当たるとこのエラーになります。序盤のログインステップは expect_dashboard で着地を待っているため発生せず、待ちの無いこのステップだけで発生します。

問題2: 「無効にする」ボタンのロケータが行スコープなしで、テンプレートが2つあると strict mode violation になる

有効化・無効化 NB は #localWorkflowsPanel/#activationsPanel 直下の「無効にする」ボタンを行スコープなしで参照しています。同じテンプレート管理プロジェクトを共有する先行 NB が(問題1などで)失敗して後始末が走らずテンプレートが残ると、ボタンが2要素に一致して strict mode violation になります(失敗のカスケード)。

問題3: timeout未指定の expect がライブラリ既定の5秒に落ちて失敗源になる

assertion 全 3160 箇所のうち 199 箇所(38 ノートブック)が timeout 未指定で、Playwright の expect 既定 5000ms で動いています。transition_timeout(慣行値 60 秒)で外部制御する設計の潰し忘れで、環境が遅い leg では恒常的な失敗になります(例: ファイル基本操作の「名前を変更」メニュー待ちが NII Storage leg で 5 秒超過、本PRのCIでも再現)。意図的に短く待つ箇所はすべて明示引数(500/1000/2000ms)で書かれており、未指定箇所だけが既定値に依存しています。

問題4: ファイル移動などのドラッグ&ドロップが、レイアウト変動で無音で不発になる

S3 系 leg で「移動に成功しました」トーストが 60〜300 秒待っても出ない失敗が反復していました。サーバログ(WaterButler / MinIO)を突き合わせたところ、move リクエスト自体がブラウザから発行されておらず、失敗時の DOM には利用規約の同意バナー(accepted_terms_of_service 未設定ユーザーにページ描画のたびに挿入されるジャンボトロン)が出現してページ全体を押し下げていました。grdm.drag_and_drop は事前に取得した座標へマウス操作するだけなので、座標取得とドロップの間にレイアウトが動くと何にも当たらず、エラーも出ません。

Changes

  • 自動有効化 / 公開範囲の設定: 再ログインステップに、ログイン後のプロジェクトページ表示を確認する expect を追加(序盤のログインステップと同じ流儀)
  • 有効化・無効化: 「無効にする」を参照する 7 セルを、他 NB と同じ workflow_name の行スコープ(//tr[.//strong[text()="{workflow_name}"]])に変更
  • scripts/grdm.py: drag_and_drop を強化。ドロップ先とソースを scroll_into_view してビューポート内にあることを確認し、双方の座標が連続する 2 回の測定で一致する(レイアウトが静止している)まで待ってからマウス操作を開始する。静止しない場合は無音で外す代わりに明示的に失敗する。jQuery UI はドラッグ開始時にドロップ先位置をキャッシュするため、ドラッグ中の座標補正ではなく開始前の静止確認を不変条件とした
  • scripts/playwright.py: init_pw_contextexpect.set_options(timeout=60000) を設定し、timeout 未指定の expect の既定を transition_timeout の慣行値に引き上げ。明示指定(短いプローブ含む)には影響しない。ノートブック側の編集は不要で、以後 timeout の書き忘れ自体が安全になる

Ticket

GRDM-62502

Custom Test Configuration

Migration レグは develop の migration 不具合(osf.0267_split_name_fields が現行モデルの副作用を実行するため、後から追加された osf_osfuser.ial 列の参照で 20250906 からのアップグレードが失敗する)に当たるため、修正ブランチ(yacchin1205/RDM2-osf.io fix/migration-historical-models)を指定して検証します。RDM-osf.io 側へ同修正の PR を提出予定です。

  • RDM_REPOSITORY: yacchin1205/RDM2-osf.io
  • RDM_BRANCH: fix/migration-historical-models
  • RDM_MERGE:

@github-actions

Copy link
Copy Markdown

📊 E2E Test Results

Excel summaries and screenshots are available as artifacts:

Run ID: 32193588198

@github-actions

Copy link
Copy Markdown

📊 E2E Test Results

Excel summaries and screenshots are available as artifacts:

Run ID: 32201871528

@github-actions

Copy link
Copy Markdown

📊 E2E Test Results

Excel summaries and screenshots are available as artifacts:

Run ID: 32212348053

@yacchin1205
yacchin1205 force-pushed the fix/workflow-e2e-login-race branch from 74cf39f to af0afbc Compare August 19, 2026 07:53
@github-actions

Copy link
Copy Markdown

📊 E2E Test Results

Excel summaries and screenshots are available as artifacts:

Run ID: 32229634407

@github-actions

Copy link
Copy Markdown

📊 E2E Test Results

Excel summaries and screenshots are available as artifacts:

Run ID: 32229983261

1 similar comment
@github-actions

Copy link
Copy Markdown

📊 E2E Test Results

Excel summaries and screenshots are available as artifacts:

Run ID: 32229983261

@github-actions

Copy link
Copy Markdown

📊 E2E Test Results

Excel summaries and screenshots are available as artifacts:

Run ID: 32229983261

@github-actions

Copy link
Copy Markdown

📊 E2E Test Results

Excel summaries and screenshots are available as artifacts:

Run ID: 32254272000

3 similar comments
@github-actions

Copy link
Copy Markdown

📊 E2E Test Results

Excel summaries and screenshots are available as artifacts:

Run ID: 32254272000

@github-actions

Copy link
Copy Markdown

📊 E2E Test Results

Excel summaries and screenshots are available as artifacts:

Run ID: 32254272000

@github-actions

Copy link
Copy Markdown

📊 E2E Test Results

Excel summaries and screenshots are available as artifacts:

Run ID: 32254272000

@yacchin1205 yacchin1205 changed the title WorkflowアドオンE2Eのログイン後スクリーンショット競合とロケータ多重一致を修正 [GRDM-62502] WorkflowアドオンE2Eのログイン後スクリーンショット競合とロケータ多重一致を修正 Aug 21, 2026
@yacchin1205 yacchin1205 changed the title [GRDM-62502] WorkflowアドオンE2Eのログイン後スクリーンショット競合とロケータ多重一致を修正 [GRDM-62502] E2Eテストのエラー改善 Aug 21, 2026
@yacchin1205
yacchin1205 merged commit e8cd92e into main Aug 21, 2026
52 of 60 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant