J'utilise Selenium Webdriver (Java), Dois-je opter pour ngWebDriver ou Rapporteur?


J'ai déjà configuré le framework Selenium webdriver pour gérer l'application AngularJS. Mais, j'utilise beaucoup d'attente et de fil.sleep() qui rend mon script fragile.

J'ai entendu parler de ngWebdriver et de Protractor qui sont bons pour exécuter l'automatisation pour l'application AngularJS.

J'ai des connaissances sur Java , mais aucune idée de JavaScript.

Dois-je utiliser ngWebDriver ou apprendre JavaScript pour implémenter Protractor?

Author: Curious, 2016-04-29

4 answers

Je pense que ngWebDriver est capable de gérer les problèmes auxquels vous êtes confrontés. Le plus gros problème de WebDriver2.0 est qu'il ne pouvait pas gérer les appels d'éléments asynchrones et c'est là que le ngWebDriver entre dans l'image et que le code new NgWebDriver(driver).waitForAngularRequestsToFinish(); sera là pour répondre à votre besoin.

Alors que, Si vous vous sentez à l'aise avec le script d'automatisation sur java script, le rapporteur sera le seul meilleur choix. Mais, vous devez également considérer les autres points comme l'E pour les scripts java Notepad ou NP++ ne sera pas la bonne option car il ne supportera pas les sens clés et certains meilleursEs sont payés aussi (comme webstorm) alors que vous pouvez faire quelques hacks simples et utiliser eclipse comme éditeur mais avant cela, vous devriez également considérer la portée de protractor car vous pouvez voir que la croissance rapide des frameworks java script. les frameworks JS côté client se développent plus rapidement que jamais. vous devrez également considérer votre perspective de carrière car de nos jours le ReactJS croît plus vite que l'angulaire JS et là encore, vous devrez activer webdriver (alors que cela dépend du projet et de ses exigences) dans un proche avenir.

AngularJS-Lancé en (2010) - Git-Hub étoiles 48874 && ReactJS-lancé en (2013) mais a obtenu 41283 étoiles Git Hub

Conclusion: mieux vaudrait aller avec ngWebDriver, lui donner une chance et voir s'il répond à vos besoins, puis s'en tenir à cela car vous avez déjà conçu le framework ou bien il n'y a pas d'autre option que le rapporteur.

Rapporteur débutants tutoriel: https://www.youtube.com/watch?v=NV1J3oylMjU&list=PLhjFPlDbRmbtSGNlNGGgF1ZjFjWPK6AaO

 5
Author: Pankaj Dubey, 2018-03-13 04:45:45

Eh bien, vous devriez apprendre du JavaScript pour Protractor. Mais je suggérerais d'apprendre le rapporteur étant donné qu'il a été fabriqué par l'équipe Angular de Google spécifiquement pour les tests Angulaires (bien qu'il puisse également être utilisé pour les tests non Angulaires).

Protractor éliminera toutes ces attentes et mises en veille car il utilise des attentes implicites et déclenche des tests après qu'Angular a terminé la synchronisation avec la page. Vous aurez plus de support, de documentation et d'informations sur le Cadre rapporteur ainsi.

 3
Author: Gunderson, 2016-05-23 12:02:03

Les tests de l'Omi sont une activité synchrone. Mais le rapporteur est asychronus par nature. Bien qu'il essaie de rendre l'exécution des tests sychronus, ce n'est pas toujours sychronus. Vous avez des moyens, des solutions de contournement pour le rendre sychronus. OMI pourquoi choisir l'outil asychrnous, puis essayer de le rendre synchronus, optez pour java, ngwebdriver qui est sychronus. De plus, si vous souhaitez utiliser des agents tels que staf, java serait plus facile. Remarque: J'ai utilisé protractor, prévoyant de donner un essai à ngwebdriver.

 0
Author: sathya, 2016-05-23 05:27:43

Si vous utilisez Sélénium avec Java déjà alors vous ne serait pas en mesure d'utiliser rapporteur, car il ne fonctionne qu'avec les JavaScript. Ajoutez simplement la bibliothèquengWebDriver à votre projet et cela vous aidera dans le cadre actuel et peut gérer facilement l'application angulaire.

 0
Author: Pranav Pasricha, 2018-03-03 19:55:33