我正在为闪亮的应用程序编写一些测试。在UI.R数据中,我们有一个fileInput-Object:

fileInput(inputId= "file", label="", accept=c(".Rdata"))

单击后:

webEl <- remDr$findElement(using = 'css selector', "#file")webEl$clickElement()

出现一个OpenFileDialog。对于我的测试,我需要选择带有OpenFileDIalog的文件。 R Selenium是否有可能这样做?我不知道该怎么做。

最佳答案

您需要将文件名发送到上载DOM元素。这是使用Shiny upload example app.的示例

require(RSelenium)
RSelenium::startServer()
remDr <- remoteDriver()
remDr$open()
remDr$navigate("https://gallery.shinyapps.io/uploadfile")
webElem <- remDr$findElement("id", "file1")
# create a dummy csv
testCsv <- tempfile(fileext = ".csv")
x <- data.frame(a = 1:4, b = 5:8, c = letters[1:4])
write.csv(x, testCsv, row.names = FALSE)

# post the file to the app
webElem$sendKeysToElement(list(testCsv))
remDr$close()
remDr$closeServer()


因此,对于您的代码,将文件名发送到您的webElement就足够了:

webEl$sendKeysToElement(list('path/to/my/rdata.Rdata'))

关于r - R Selenium中的OpenFileDialog,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23949637/

10-11 19:38