Nothing
## ----include = FALSE----------------------------------------------------------
available <- selenider::selenider_available()
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
eval = available
)
## ----eval = !available, include = FALSE---------------------------------------
# message("Selenider is not available")
## ----setup--------------------------------------------------------------------
library(selenider)
library(testthat)
## ----error = TRUE-------------------------------------------------------------
test_that("My test", {
# session will be opened here...
open_url("https://www.r-project.org/")
s(".random-class") |>
elem_expect(is_present)
}) # and closed here!
## ----setup2-------------------------------------------------------------------
library(shiny)
library(shinytest2)
## -----------------------------------------------------------------------------
shiny_app <- shinyApp(
ui = fluidPage(
actionButton("button", label = "Click me!"),
conditionalPanel(
condition = "(input.button % 2) == 1",
p("Button has been clicked an odd number of times.")
) |>
tagAppendAttributes(id = "condpanel")
),
server = function(input, output) {
even <- reactive((input$button %% 2) == 0)
exportTestValues(even = {
even()
})
}
)
## -----------------------------------------------------------------------------
test_that("App works", {
app <- AppDriver$new(shiny_app)
session <- selenider_session(driver = app)
s("#condpanel") |>
elem_expect(is_invisible)
app$click("button")
app$expect_values(export = "even")
s("#condpanel") |>
elem_expect(is_visible)
app$click("button")
app$expect_values(export = "even")
s("#condpanel") |>
elem_expect(is_invisible)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.