File tree Expand file tree Collapse file tree 2 files changed +41
-1
lines changed Expand file tree Collapse file tree 2 files changed +41
-1
lines changed Original file line number Diff line number Diff line change @@ -36,7 +36,8 @@ Suggests:
3636 tidyr,
3737 later,
3838 shinytest,
39- waldo
39+ waldo,
40+ chromote
4041Config/Needs/website: tidyverse/tidytemplate
4142URL: https://github.com/rstudio/shinycoreci
4243BugReports: https://github.com/rstudio/shinycoreci/issues
Original file line number Diff line number Diff line change @@ -355,3 +355,42 @@ verify_no_untracked_files <- function(repo_dir, apps_folder) {
355355 stop(" Make sure there are no untracked files. Please remove the files or commit the changes." )
356356 }
357357}
358+
359+
360+ inform_latest_results <- function () {
361+ if (! requireNamespace(" chromote" , quietly = TRUE )) {
362+ stop(" Please install `chromote` to use this function" )
363+ }
364+
365+ url <- " https://rstudio.github.io/shinycoreci/results/"
366+
367+ b <- chromote :: ChromoteSession $ new()
368+ withr :: defer(b $ close())
369+
370+ p <- b $ Page $ loadEventFired(wait_ = FALSE )
371+ b $ Page $ navigate(url = url , wait_ = FALSE )
372+ b $ wait_for(p )
373+
374+ # Wait for the page to follow the redirect
375+ Sys.sleep(1 )
376+
377+ failed <- b $ Runtime $ evaluate(
378+ " [...document.querySelectorAll('#app_summary h3')].map(el => el.innerText)" ,
379+ returnByValue = TRUE
380+ )$ result $ value
381+ failed <- unlist(failed )
382+
383+ history <- b $ Page $ getNavigationHistory()
384+ current_url <- history $ entries [[history $ currentIndex + 1 ]]
385+ cli :: cli_inform(" {.url {current_url$url}}" )
386+
387+ if (length(failed ) == 0 ) {
388+ cli :: cli_alert_success(" All tests passed!" )
389+ return (invisible ())
390+ }
391+
392+ cli :: cli_alert_danger(" {length(failed)} test{?s} failed:" )
393+ cli :: cli_verbatim(sprintf(" - `%s`" , failed ))
394+
395+ invisible (unlist(failed ))
396+ }
You can’t perform that action at this time.
0 commit comments