vignettes/load-testing-authenticated-apps.Rmd
load-testing-authenticated-apps.Rmdshinyloadtest supports load testing applications served
by Posit
Connect with the following authentication configurations:
shinyloadtest::record_session will automatically detect
when an application is protected using a supported authentication scheme
and will prompt for a username and password.
If record_session is called from within an RStudio IDE
session, two UI dialogs will appear. If it’s called from an R session in
a command-line setting, prompts will appear on standard output.
The supplied username and password are used for the duration of the recording to interact with the application, but these credentials are not stored in the recording file.
Because credentials are not stored in recordings, a username and
password or Posit Connect API Key must be supplied to
shinycannon in order to load test authenticated
applications.
shinycannon does not have --user,
--password, or --connect-api-key arguments for
security reasons, so that these strings will not appear in a process
list. Instead, the SHINYCANNON_USER,
SHINYCANNON_PASS, and
SHINYCANNON_CONNECT_API_KEY environment variables must be
set. SHINYCANNON_CONNECT_API_KEY will take preference over
SHINYCANNON_USER and SHINYCANNON_PASS.
On Linux and macOS, you can disable history for any command that
starts with a space. If using a bash:
$ # Disable history for any command that starts with a space
$ HISTCONTROL=ignoreboth
$ export SHINYCANNON_USER=myUser
$ export SHINYCANNON_PASS=myPass
$
$ shinycannon recording.log https://shinyapp.example.com/ --workers 5 --loaded-duration-minutes 2 --output-dir run1
And if using zsh:
$ # Disable history for any command that starts with a space
$ setopt HIST_IGNORE_SPACE
$ export SHINYCANNON_CONNECT_API_KEY=$CONNECT_API_KEY
$
$ shinycannon connect_recording.log https://connect.example.com/content/545/ --workers 5 --loaded-duration-minutes 2 --output-dir run2