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:
- 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.gitProject 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.
- 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 - Configure credentials. Either create a
vip.tomlfile:cp vip.toml.example vip.toml # Edit vip.toml with your deployment detailsOr 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.
- 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