Good point. There is a reason actually. That was a example I gave. Let me explain in detail again 
My intention is automate all possible scenarios (in future)
Scenario 1 : Say we have 3 inputs (the user needs to select 1st filter, 2nd Filter and click on Submit button so that table gets displayed. For this to happen, I can write below
# Filter1, Filter2 and Submit are inputs ID's declared in ui.R
Submit_table <- app$setInputs(Filter1 = "AAAA", Filter2 = "BBBB", Submit = "click")
Above code checks if filter1 is "AAAA" and filter2 is "BBBB" and submit is pressed, the table is displayed.
IF the table is really displayed, there will be no error. Or else there will be an error. Also we can check if the application crashes or not.
So like above there are lots of user defined features. So once we set the test cases and make sure all are run, we can be satisfied that application is not crashing, all inputs are working and so on.
Now makes sense ?