7
votes

Nightwatch.js sans Java

est-il possible d'utiliser Nightwatch.js sans installer Java? Il y a des liaisons officielles Selenium JavaScript ( webdriverjs , selenium-webdiver ). Y a-t-il une raison pour laquelle Java est requis?


2 commentaires

Donc, vous voulez dire que vous voulez créer e. g. Quelques scripts / extraits pour interagir avec le Selenium Server Wihout Java?


@Natestone correct. Je sais comment conduire le navigateur avec webdriverjs, alors j'ai été surpris de voir que Nightwatch.js nécessite Java.


4 Réponses :


1
votes

Well Nightwatch.js exécute ses tests sur le serveur Selenium. Le serveur Sélénium est un servlet Java.

Donc d'utiliser Nightwatch.js Vous venez de "indirectement" besoin de Java (ce n'est pas nécessaire pour Nightwatch.js, mais pour sélénium).

Cependant, vous pouvez utiliser différentes langues en tant que client SELENIUM, car vous êtes en mesure de télécharger différentes liaisons de langue WebDiver ici

+++++++++++++++++++ Modifier +++++++++++++++++

Ces webrivers / liaisons sont indépendants de Nightwatch.js. Vous pouvez utiliser ces webrivers / liants sans serveur Selenium, si vos tests et votre navigateur sont exécutés sur la même machine. Dans ce cas, vous n'avez pas besoin de Java, car le webdiver exécute les tests directement contre un navigateur (ceci est davantage détaillé Ici )

Nightwatch.js D'autre part Certainitelly nécessite Java, car il a besoin du "Selenium-Standalone-Server" qui est écrit en Java. Autant que je sache, il n'y a pas d'autres implémentations pour d'autres langues, c'est pourquoi il n'est pas possible de l'exécuter sans Java.

Nightwatch envoie des demandes HTTP au SELENIUM-STANDALONE-SERVEUR (ici vient Java) et le serveur crée une session avec le navigateur.

SO tout résumer: No Java -> Non "Selenium-Standalone-Server" -> Aucun test avec NightWatch.js


1 commentaires

Merci, mais je ne suis pas sûr de nous comprendre. Vous pouvez utiliser sélénium sans utiliser Java, il y a des liaisons officielles de sélénium javascript. Ma question était la raison pour laquelle Nightwatch.js utilise Java, lors de la conduite d'un navigateur pouvant être fait sans elle. En fait, ma question était là est une façon d'utiliser Nightwatch.js sans installer Java. De vous répondez, il semble que la réponse est non.



6
votes

Je traite une communauté javascript, alors j'essaie de gérer la nuit de nuit localement sans introduire moi-même Java. Je suis certain que si vous exécutez un serveur Selenium distant, cette instance distante doit avoir le serveur Java exécuté pour transmettre les commandes de transfert au pilote de navigateur distant. Par exemple: ChromeRiver.

Cela dit, j'avais l'impression que l'on pourrait connecter un client standard directement à un webDriver standard (chromedriver) localement sans strong> avoir à organiser le serveur Java Selenium-Server-Standalone-2.xx.0.jar. Avec NightwatchJS étant le 1er client que j'ai essayé, il était très difficile de trouver une configuration où cela fonctionnerait car toute la documentation indique ce que Nate Stone dit ci-dessus. Tous les exemples que j'ai vus indiquent que l'emplacement du sélénium-serveur-standalone-2.xx.0.jar doit être stipulé: p>

  "test_settings": {
    "default": {
      "launch_url": "http://localhost:8888/",

      "selenium_host": "127.0.0.1",
      "selenium_port": "9515", 

      "silent": true,
      "firefox_profile": false,
      "screenshots": {
        "enabled": false,
        "path": ""
      },
      "desiredCapabilities": {
        "browserName": "chrome",
        "javascriptEnabled": true,
        "acceptSslCerts": true,
        "__commentOut: chromeOptions" : {
              "args" : ["start-fullscreen"]
            }
      },
    }
  }


0 commentaires

4
votes

Il y a maintenant Documentation sur le site officiel sur la façon de le faire.

J'ai eu des problèmes avec la configuration, j'ai donc créé un exemple de référentiel avec code de travail:

https://github.com/zeljkofilipin/mediawiki-nightwatch


1 commentaires

Ce référentiel était vraiment vraiment utile. Merci d'avoir partagé!



0
votes

Il y a:

Spécifier dans global.js fichier suivant: xxx

aller à Nightwatch.conf.js Spécifiez le chemin global là-bas

De cette façon, votre sélénium sera détourné via ChromeRiver sans avoir besoin de sélénium sur votre machine.


0 commentaires