Skip to content

feat: add --storage-state flag and storage-state-load command#4

Open
spartan-ducduong wants to merge 1 commit into
tuandm:mainfrom
spartan-ducduong:ducdt/storage-state-flag
Open

feat: add --storage-state flag and storage-state-load command#4
spartan-ducduong wants to merge 1 commit into
tuandm:mainfrom
spartan-ducduong:ducdt/storage-state-flag

Conversation

@spartan-ducduong
Copy link
Copy Markdown

Summary

Why

SPAs that use localStorage tokens (not cookies) for auth cannot be loaded via auth-load, which only restores cookies. Tools like Playwright's storageState save both cookies and localStorage.

What

  • New storage-state-load <path> command — reads a Playwright storageState JSON and applies cookies + per-origin localStorage
  • New --storage-state <path> global flag — loads state before any command (e.g. verdict --storage-state ./auth.json goto https://app)
  • Help text updated with both additions

Usage

# Load state then navigate (typical flow)
verdict --storage-state ./playwright/auth.json goto https://app.example.com

# Load state as a standalone step
verdict storage-state-load ./playwright/auth.json

The storageState JSON format is Playwright's standard output from context.storageState({ path }).

Types of Changes

  • ✨ New feature

Test Plan

  • storage-state-load applies cookies and localStorage correctly
  • --storage-state flag loads state before running the main command
  • Error cases: missing file → exit 1 with message, missing arg → usage hint

Loads a Playwright storageState JSON (cookies + per-origin localStorage)
before executing any command. Enables auth flows where tokens live in
localStorage rather than cookies (e.g. SPAs using localStorage JWTs).

Usage:
  verdict --storage-state ./auth.json goto https://app.example.com
  verdict storage-state-load ./auth.json
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