Quick start

VIP includes a Shiny for Python app that lets you select test categories, run tests, and view the styled report—all from a browser. Inside Posit Workbench the app opens directly in the IDE’s Viewer pane.

git clone https://github.com/posit-dev/vip.git
cd vip
uv sync
uv run playwright install chromium

uv run vip app

The app launches in your default browser. If you are inside an RStudio or Positron session on Workbench, it opens in the Viewer pane automatically.

Running inside RStudio or Positron

The Shiny app is designed for use inside a Workbench IDE session. Here is the recommended workflow:

  1. Create a new project from version control. In RStudio, go to File → New Project → Version Control → Git and fill in the dialog:
    Field Value
    Repository URL https://github.com/posit-dev/vip.git
    Project directory name vip (auto-filled)
    Create project as subdirectory of Choose your preferred location (e.g. ~)

    Click Create Project. RStudio clones the repository and opens the project automatically.

    In Positron, use File → New Project From Git and enter the same repository URL.

  2. Install dependencies. Open a terminal in your IDE (the Terminal tab in RStudio, or Ctrl+` in Positron) and run:
    uv sync
    uv run playwright install chromium
  3. Configure credentials. Either create a vip.toml file:
    cp vip.toml.example vip.toml
    # Edit vip.toml with your deployment details

    Or set environment variables:

    export VIP_CONNECT_API_KEY="your-api-key"
    export VIP_TEST_USERNAME="test-user"
    export VIP_TEST_PASSWORD="test-password"

    You can also skip this step entirely and enter product URLs directly in the app.

  4. Launch the app:
    uv run vip app

Using the app

Sidebar controls

Control Description
Config file path Path to vip.toml. Defaults to ./vip.toml or the VIP_CONFIG environment variable.
Product URL overrides Enter Connect, Workbench, or Package Manager URLs to run without a config file. Overrides the config file when both are provided.
Test categories Check the categories you want to run: Prerequisites, Connect, Workbench, Package Manager, Cross Product, Performance, Security.
Extra pytest args Pass additional flags to pytest, e.g. -x (stop on first failure) or -k 'login' (filter by name).

Main panel

Tab Description
Test Output Live-streaming terminal output from pytest. A status badge shows Idle, Running, Passed, or Failed.
Report Styled HTML report with summary metrics, results grouped by category, expandable error tracebacks, and troubleshooting hints. Updates automatically when a run completes.

CLI options

vip app [--config PATH] [--host HOST] [--port PORT] [--no-browser]
Flag Default Description
--config vip.toml Path to vip.toml (sets default in the app)
--host 127.0.0.1 Host to bind
--port auto Port number (0 = pick a free port)
--no-browser off Don’t open a browser window automatically

Installing with pip

If you don’t use uv:

pip install -e .
playwright install chromium
vip app