This app displays graphics from the Shedul Service
The app's Script code
Script CodeExpand source
type("""input[name="email"]""" , """##{{email|default:'[email protected]'|safe|addslashes}}""")
type("""input[name="password"]""" , """##{{password|default:'password'|safe|addslashes}}""")
runScript("""
document.querySelector('input[name="email"]').dispatchEvent(new Event("input", { bubbles: true }))
document.querySelector('input[name="password"]').dispatchEvent(new Event("input", { bubbles: true }))
""")
pause(1)
clickAndWait("""button""")
repeat(0){
pause(##{{refresh|default:180}})
refreshAndWait()
waitForPageLoad()
runScript("""
if(document.querySelector('div[id="react"]')){
var elem = j('div[id="react"]');
j('body').append(elem);
j('body>:visible').not(':last').remove();
}
""")
}
The app's JSON Schema
We need the declare a schema for the required configuration fields:
email: the email of the user
password: the password of the user
refresh: the refresh rate of the dashboard
JSON SchemaExpand source
{
"fields": [
"email",
"password",
"refresh"
],
"schema": {
"password": {
"title": "Password",
"type": "Password",
"validators": [
"required"
]
},
"email": {
"title": "Email Address",
"type": "Text",
"validators": [
"required",
"email"
]
},
"refresh": {
"title": "Refresh Interval (sec)",
"type": "Number",
"validators": [
"required"
]
}
}
}