Comment peut-Sikuli être utilisée pour attendre un bouton pour une longue période de temps, avec peut-être quelques tâches de maintenance entre les deux?

J'ai une page où je suis en attente pour un bouton, et quand il apparaît, je tiens à cliquer dessus. Le bouton est sur une minuterie et peut prendre aussi longtemps que une heure à apparaître. Aussi, si le bouton prend plus de temps qu'une certaine période de temps à apparaître, je voudrais déplacer la souris (sinon le site va me connecter automatiquement).

Donc, d'attendre un bouton j'ai conçu ce Sikuli script:

button = "button.png"

while(1):
    if exists(button):
        print("found it")
        click(button)
        break
    else:
        print("wait longer")
        wait(button,30*60)
        # do a regular task

print "all done!"

Le ci-dessus ne semble pas être fonctionnel. Si le bouton est sur l'écran, le script va le trouver... si, Toutefois, il doit attendre il sera tout simplement le temps rapidement avec un FindFailed exception (sur la click() même si le bouton n'existe pas sur l'écran). J'ai envisagé d'écrire un gestionnaire, mais semble exagéré.

Ce que je fais mal et quel est le meilleur moyen d'attendre une longue période pour un événement visuel comme ça?

Pourquoi êtes-vous de l'automatisation de sites web avec sikuli? Il y a de meilleurs outils pour que, comme le Sélénium ou Watir.
des outils comme le Sélénium (test fonctionnel) sont bonnes. Mais il ajoute non seulement de la valeur, mais donne plus de qualité, d'augmenter la productivité lors de la GUI test basé sur, comme sikuli est complétée avec/sans les tests fonctionnels.

OriginalL'auteur sakatc | 2012-07-25