2015-03-17 2 views
0

J'ai mis à jour appium à la version 1.3.6 aujourd'hui et la partie de mes tests où plusieurs clics sont utilisés ne fonctionnent plus. J'ai fondamentalement un élément sur lequel je veux cliquer trois fois, comme un double-clic.Les clics multiples d'Appium ne fonctionnent plus

C'est le code qui fonctionnait avant la mise à jour:

some_element = self.driver.find_element_by_name('some_element') 
some_element.click() 
some_element.click() 
some_element.click() 

Pour tenter de comprendre pourquoi cela ne fonctionne plus, I commandes d'impression intégrés entre les clics et a remarqué que les trois clics ne sont pas passe assez rapidement pour être enregistré par l'application.

Répondre

0

Mettez la commande de veille entre chaque clic. Je suis sûr que cela réglera le problème.

+0

J'ai essayé de placer les commandes de veille entre les clics et cela n'a pas résolu le problème. Les clics ne se produisent pas assez rapidement pour être enregistrés par l'application en tant que triple clic – AllenMoh

1

Je trouve la solution, au lieu de l'utilisation, cliquez robinet:

https://github.com/appium/python-client#tap

La mauvaise façon:

some_element = self.driver.find_element_by_name('some_element') 
some_element.click() 
some_element.click() 
some_element.click() 

Le droit chemin:

(de appium.webdriver.common .touch_action import TouchAction)

some_element = self.driver.find_element_by_name('some_element') 
triple_click = TouchAction(self.driver) 
# the parameters for tap are element, x-offset, y-offset, and count 
triple_click.tap(some_element, 0, 0, 3)