L'appel à un Sikuli script à partir de Python (Sélénium)
Lors de l'exécution de Sélénium tests sur un site web, j'ai quelques éléments Flash que je ne peux pas tester avec le Sélénium/Python. Je voulais appeler par une fenêtre de terminal, exécutez la Sikuli des tests de ROC, et puis de nouveau dans le Sélénium/Python tests. Je n'ai pas été en mesure de comprendre exactement. J'ai mis XXX où je ne connais pas les arguments en faveur d'un nouveau Terminal pour ouvrir et exécuter le Sikuli script.
def test_05(self):
driver = self.driver
driver.get(self.base_url + "/")
driver.find_element_by_link_text("Home").click()
driver.find_element_by_id("open_popup").click()
driver.find_element_by_id("screen_name").send_keys("user")
driver.find_element_by_id("password").send_keys("pwd")
driver.find_element_by_id("login_submit").click()
driver.find_element_by_id("button").click()
time.sleep(120)
os.system('XXX')
os.system('./Sikuli/sikuli-script -r test.sikuli')
Je suis sûr qu'il ya un couple d'éléments de mal ici. Toute aide serait grandement appréciée. J'ai cherché et lu ce que je peux trouver sur ce déjà, mais ne peut pas le faire tous travailler ensemble.
J'ai utilisé Sikuli API Java et utilisé le Sikuli fonctions avec Webdriver code, au lieu d'appeler un Python Sikuli script. Ne pouvez-vous pas faire quelque chose comme ça en Python?
C'est exactement ce que je demande. J'essaie d'importer Sikuli, mais il n'est pas reconnu module. Plus je fais une recherche sur le sujet, il semble que cela ne peut pas être fait à tous. Triste.
C'est exactement ce que je demande. J'essaie d'importer Sikuli, mais il n'est pas reconnu module. Plus je fais une recherche sur le sujet, il semble que cela ne peut pas être fait à tous. Triste.
OriginalL'auteur Dave | 2013-08-12
Vous devez vous connecter pour publier un commentaire.
J'ai rencontré un problème similaire, j'ai donc écrit un Disponible module pour Sikuli. Le module est hébergé sur GitHub et disponible via
pip install sikuli
. Il est en mesure d'accéder à un Sikuli bocal à l'aide de pyjnius, de sorte que vous n'avez pas à utiliser Jython ou même l'installation de Sikuli lui-même (bien que je le recommande à des fins d'enregistrement). Le module couvre actuellement plus de la plus simple Sikuli fonctions, de sorte qu'il doit couvrir beaucoup de cas d'utilisation.Après l'installation, un simple
from sikuli import *
vous permettra de commencer, mais comme une meilleure pratique, je vous suggère seulement d'importer les fonctions que vous souhaitez utiliser. Ceci est particulièrement important pour ce module, car sikuli a untype
fonction qui remplace Python propretype
fonction.Il ne semble pas que ce projet est ... en état de fonctionnement.
OriginalL'auteur kevlened
Pour appeler Sikuli code de Sélénium, mon premier choix serait TestAutomationEngr la suggestion de l'utilisation de Java, depuis le Sélénium et le Sikuli à la fois natif Java liaisons.
Puisque vous souhaitez utiliser Python, vous essayez d'exécuter le Sélénium sous Jython. Il est important de se rappeler que Sikuli est Jython, qui est probablement la raison pour laquelle vous n'êtes pas en mesure de les importer. (L'autre raison serait que vous ne l'avez pas en Jython du chemin d'accès du module.) Je n'ai pas essayé moi-même, mais il y avait un correction du bug de l'an dernier en Sélénium, ce qui indique qu'il doit être bien sous Jython.
Notez que si vous appelez votre Sikuli code directement à partir de Jython, vous devez ajouter
vers le haut. C'est parce que le Sikuli IDE ajoute implicitement que tous les Sikuli code.
Enfin, votre dernier recours est l'appel de Sikuli à partir de la ligne de commande. Il y a une FAQ pour que. Vous souhaitez probablement que les "sans IDE", où vous appelez à Java et en le passant dans le sikuli-script fichier JAR.
OriginalL'auteur Nathaniel Waisbrot
Si votre sikuli script est totalement indépendant et vous voulez juste pour l'exécuter, pour une fois, et ensuite avoir le contrôle de retour à votre script python.
Ensuite, vous pouvez créer un fichier batch, qui appelle votre sikuli script et d'appeler ce fichier de commandes à partir de votre script python à la place.
Une fois le fichier de commandes se fait en cours, il se termine et retourne le contrôle de retour à votre script python.
Exemple de fichier de commandes:
Extrait de Code pour appeler Sikuli script à partir de l'intérieur de python:
OriginalL'auteur Tanuvir