J'ai une application web qui permet à l'utilisateur de télécharger un fichier de style XML, puis de le modifier dans le navigateur. J'essaie de tester le scénario avec des éclats. À condition d'avoir la bonne entrée (id="form-widgets-body"
):Python: téléchargement de fichier réellement accessible dans Splinter?
... Je ne peux trouver aucun problème, ainsi que l'utilisation attach_file
avec son nom:
(Pdb) brwsr.find_by_id('form-widgets-body')
[<splinter.driver.webdriver.WebDriverElement object at 0x7f2be3a32dd0>]
brwsr.attach_file('form.widgets.body', PATH_TO_FILE)
Mais le problème avec attach_file
est qu'il ne rend pas réellement le dossier accessible à moi. Peut-être que cela indique simplement à l'entrée que quelque chose a été rempli, ce qui est bien pour d'autres types de tests? (Par exemple, vous ne pouvez pas passer à l'écran suivant dans une application financière jusqu'à ce que vous téléchargez le document X)
J'ai essayé à la place send_keys
, mais cela n'a pas fonctionné comme prévu:
(Pdb) brwsr.find_by_id('form-widgets-body').send_keys
*** AttributeError: 'ElementList' object has no attribute 'send_keys'
(Pdb) brwsr.find_by_id('form-widgets-body')[0].send_keys
*** AttributeError: 'WebDriverElement' object has no attribute 'send_keys'
Cela dit, quelques questions:
Je
send_keys
vraiment faire ce que je veux (à savoir, un téléchargement de fichier accessible qui est comme la vraie chose)? Si oui, quelle est la droite façon de l'appeler?Sinon, que puis-je faire d'autre? (nécessitant js, peut-être?)