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.1 by Winston Chang, 4 months 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, disaggR, grapesAgri1, jsmodule, leafdown, mlr3shiny, mmaqshiny, nomnoml, oolong, optimall, phecodemap, plotly, presize, r2d3, safetyCharts, safetyGraphics, shiny, shinyauthr, shinybrms, shinymodels, spotGUI.

See at CRAN