Test Shiny Apps

For automated testing of Shiny applications, using a headless browser, driven through 'WebDriver'.

Linux Build Status Windows Build status CRAN RStudio mirror downloads


To install the current release version:


To install the development version:



See the getting started guide to learn how to use shinytest.


MIT © Mango Solutions, RStudio



New features

  • Added support for setting inputs that do not have an input binding (#232); furthermore, inputs set with event priority (e.g., Shiny.setInputValue('key', 'value', {priority: 'event'})) are also supported (#239).

  • Added support for triggering snapshots from the keyboard (by pressing Ctrl-Shift-S or Command-Shift-S) while recording tests with recordTest() (#240).

  • recordTest() gains a debug argument for displaying ("shiny_console", "browser", and/or "shinytest) logs into the R console (#146). When these logs are displayed, they use format.shinytest_logs() with short = TRUE which suppress the timestamp and level.

Bug fixes

  • Recording a test that produces an input value with an escape character, '', no longer results in error (#241).


  • ShinyDriver now passes the current RNGkind() to the background R process that serves up the app being tested. This allows for better control over randomness across mutliple versions of R with different RNGkind() defaults (e.g., 3.5 and 3.6)


  • First public release

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


1.5.0 by Winston Chang, 3 days ago


Report a bug at https://github.com/rstudio/shinytest/issues

Browse source code at https://github.com/cran/shinytest

Authors: Winston Chang [aut, cre] , Gábor Csárdi [aut] , Hadley Wickham [aut] , RStudio [cph, fnd] , Mango Solutions [cph, ccp]

Documentation:   PDF Manual  

MIT + file LICENSE license

Imports assertthat, callr, crayon, debugme, digest, htmlwidgets, httpuv, httr, jsonlite, parsedate, pingr, R6, rematch, rlang, rstudioapi, shiny, testthat, utils, webdriver, withr

Suggests flexdashboard, globals, rmarkdown

System requirements: PhantomJS (http://phantomjs.org/)

Imported by BayesianNetwork, eAnalytics.

Suggested by EventDetectGUI, GenEst, MtreeRing, baRcodeR, codebook, colocr, corporaexplorer, crunchy, evaluator, jsmodule, mlr3shiny, mmaqshiny, nomnoml, plethem, plotly, r2d3, safetyGraphics, shiny, shinybrms, spotGUI.

See at CRAN