Использование js блестящих событий в Cypress - PullRequest
1 голос
/ 12 марта 2020

Мне нужно использовать Javascript блестящих событий (например, shiny:recalculated), описанных здесь https://shiny.rstudio.com/articles/js-events.html, чтобы знать, когда запускать следующее тестовое действие внешнего интерфейса (без снов). Это делает тесты детерминированными c и сокращает время тестирования. Тем не менее, я не могу использовать событие из Cypress или из консоли разработчика ведомого браузера.

Рассмотрим, например, простой код, взятый из https://github.com/rstudio/shiny-examples/blob/master/084-single-file/app.R и модифицированный для запуска приложения в браузере

# Global variables can go here
n <- 200


# Define the UI
ui <- bootstrapPage(
  numericInput('n', 'Number of obs', n),
  plotOutput('plot')
)


# Define the server code
server <- function(input, output) {
  output$plot <- renderPlot({
    hist(runif(input$n))
  })
}

# Return a Shiny app object
shinyApp(ui = ui, server = server, options = list(launch.browser = TRUE))

После выполнения

$(document).on('shiny:recalculated', function (event) {
                if (event.target.id === "plot") {
                    alert('Output has been just refreshed')
                }
            })

в браузере консоль разработчика и изменение ввода (до 201) Я получаю

Chrome window

Однако это не относится к браузеру, запущенному Cypress. Есть идеи почему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...