Я заменил ifelse
на простое if
условие. Я предполагаю, что это более безопасно, так как пайпинг к filter
и затем использование ifelse
может привести к ошибке. Рассмотрим этот код сервера:
library(shiny)
server <- function(input, output) {
selectdata <- reactive({
# Give back original data (no filter is needed)
if (any(input$cut == "All")) {
diamonds
} else {
# Subset data
# You can also use: base::subset(diamonds, cut %in% input$cut)
dplyr::filter(diamonds, cut %in% input$cut)
}
})
output$table <- DT::renderDT({
selectdata()
}, options = list(scrollX = TRUE))
}
Если у вас есть GTK, вы можете использовать класс gtk.gdk.Display для выполнения большей части работы. Он управляет клавиатурой / указателем мыши и захватывает набор объектов gtk.gdk.Screen
.
Ознакомьтесь с GNU LDTP :
Проект тестирования рабочего стола GNU / Linux (GNU LDTP) нацелен на получение высоких структура автоматизации тестирования качества [...]
Особенно Написание тестовых сценариев LDTP на языке сценариев Python
Что касается захвата экрана, см. этот ответ . Это сработало для меня. Также могут быть интересны другие ответы на тот же вопрос.
Ознакомьтесь с RobotFramework . Я не знаю, будет ли он делать то же самое, что и JavaRobot, или он будет делать больше. Но его легко и очень гибко использовать.