For automated testing of Shiny applications, using a headless browser, driven through 'WebDriver'.
To install the current release version:
install.packages("shinytest")To install the development version:
devtools::install_github("rstudio/shinytest")See the getting started guide to learn how to use shinytest.
MIT © Mango Solutions, RStudio
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.
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)