Donc j'essaie de faire la conversion en Sélénium 2, mais je semble avoir un problème si je vais à http://website.com, Selenium ne peut pas trouver les éléments de ma forme aspx. Je dois avoir Selenium aller directement au http://website.com/form.aspx. Ce n'est pas horrible parce que je peux m'assurer que les formulaires fonctionnent, mais idéalement, je voudrais que tout soit terminé du point de vue des utilisateurs. Quelqu'un d'autre a-t-il eu ce problème?Sélénium 2 ne peut pas trouver l'élément ID sauf si je vais directement au fichier .aspx
Répondre
Il semble qu'il y ait une redirection de la page principale par défaut à la forme.aspx sur votre site. Je pense que WebDriver attrape la fin du chargement de la page principale qui redirige ensuite vers le formulaire, mais WebDriver ne l'attrape pas.
Je pense que vous pouvez introduire un délai avant que les éléments à partir de trouver, ou vous pouvez utiliser PageFactory avec AjaxElementLocatorFactory qui permettra à votre pilote d'attendre jusqu'à ce que les contrôles apparaissent vraiment, mais je ne suis pas sûr si elle est disponible pour
C#J'ai eu ce problème aussi, il est dû à la redirection, et que la commande waitFor * ne fonctionne pas très bien avec les redirections. Il n'attendra jamais 2 pages (ce dont nous avons besoin ici), mais si vous mettez 2 temps consécutifs (ce qui est en théorie la bonne chose à faire), souvent le 2ème sera suspendu. Il semble que ce soit une sorte de condition de course car il est imprévisible, 90% du temps il semble se bloquer alors
Donc ce que j'ai fait était juste de tourner dans une boucle jusqu'à ce que j'ai vu un signal sur la page après la redirection que je devrait voir. Vous pouvez également avoir le signal que vous recherchez pour le test réel. Ma solution, un bloc court de perl, que je suis sûr que vous pouvez traduire en C#:
$sel->open('/some/page/that/will/redirect/us');
$sel->wait_for_page_to_load("30000"); #wait for the redirect to hit
do {
$sel->pause(50); #now spin while we're in no-mans land
#until you spot what you need:
last if $sel->is_text_present('This is the Real Home Page');
} while(1);
#carry on.... redirect is completed and page is loaded
Un bonus heureux de ce que le journal de l'historique des commandes compte les millisecondes sur « commande même (de 99ms): xyz "pendant qu'il tourne, vous laissant savoir que tout est vivant et sain pendant que la redirection suit son cours.
- 1. php smarty ne pas passer au navigateur sauf si connecté
- 2. C++ ne peut pas trouver le fichier (je pense)
- 3. Asp.Net System.Web.Routing ne routera pas l'URL sauf si .aspx est à la fin
- 4. document.form.submit(); Je ne vais pas soumettre en safari
- 5. ne peut pas accéder au fichier xib?
- 6. ne peut pas trouver RIMIDEWin32Util.dll
- 7. ne peut pas trouver -lmysqlclient
- 8. Sélénium onChange ne fonctionne pas
- 9. ne peut pas trouver le fichier dans mercurial
- 10. Java problème ne peut pas trouver fichier image
- 11. Setup.exe ne peut pas trouver le fichier .msi
- 12. C++ #include ne peut pas trouver le fichier
- 13. Sélénium 1 vs 2
- 14. customvalidator ne peut pas trouver controltovalidate
- 15. L'image ne peut pas être vue sauf si le nom est changé
- 16. ld ne peut pas trouver le fichier c
- 17. Foreach ne fonctionne pas dans le Makefile: « Le système ne peut pas trouver le fichier spécifié »
- 18. ZenTest Autotest ne peut pas trouver rubygems
- 19. ne peut pas trouver la classe
- 20. Application ne peut pas trouver le fichier app.config lors de l'exécution au démarrage de Windows
- 21. php regex - ne peut pas trouver l'erreur
- 22. ne peut pas trouver mes fichiers lib à lier
- 23. Python CreateFile ne peut pas trouver PhysicalMemory
- 24. FDT: Flex et ne peut pas accéder au fichier local
- 25. lib dynamique ne peut pas trouver lib
- 26. VS2010 ne peut pas trouver le type ControlTemplate même si System.Windows est référencé
- 27. ne peut pas accéder au fichier Excel après le renommage
- 28. InternalsVisibleTo - ne fonctionne pas dans le fichier ascx/aspx
- 29. NHIbernate & Rhino-Security ne sauvegarde pas sauf si j'appelle session.Flush()
- 30. PHPUnit - alternative au sélénium?