[JAVA] Prise en charge de JMX pour Selenium Grid

Cet article est l'article du deuxième jour du Calendrier de l'Avent Selenium / Appium 2017.

salut! Est-ce que tu regardes! !! As-tu été! !! !! Pardonnez-moi de l'avoir laissé pendant 2 mois sans que personne ne remarque que le serveur était en panne! !! !! !!

Quand une nouvelle version de Selenium est publiée, j'essaie de vérifier le contenu mis à jour pour le moment, mais le contenu mis à jour de la partie Java de Selenium 3.8.0 a de nouveaux éléments et cela a attiré mon attention. C'était.

https://github.com/SeleniumHQ/selenium/blob/master/java/CHANGELOG

* Added initial support for managing Grid Hubs and Nodes via JMX

Et JMX? ?? ??

À partir de Selenium 3.8.0, Selenium Grid prend en charge JMX

Qui comprend! ?? En regardant le problème GitHub, il semble que l'histoire ait été occasionnellement soulevée ...

Qu'est-ce que JMX en premier lieu?

Il s'agit d'une norme publique sur la gestion des différents états des applications Java. Vous utilisez SNMP pour gérer l'état de votre serveur, non? C'est ainsi que JMX est utilisé pour gérer l'état des applications Java.

Voyons en fait l'état du hub et du nœud de Selenium Grid avec JMX

Quelles informations pouvez-vous voir à ce stade? Essayons-le autant que vous le pouvez facilement.

Configurez correctement le hub et le nœud de Selenium Grid.

Dans cet article, je vais vous donner quelques propriétés système aussi belles que possible sous forme d'étiquettes pour vous aider à identifier les rôles plus tard.

$ java -Gâteau roulé en D=Rouleau de Koyama\
       -jar selenium-server-standalone-3.8.0.jar \
       -role hub
$ java -Gâteau roulé en D=Rouleau de Dojima\
       -jar selenium-server-standalone-3.8.0.jar \
       -role node

Vérifiez les ID de processus du hub et du nœud de Selenium Grid avec la commande jps.

Ce sera plus facile à comprendre si vous ajoutez l'option l et l'option v.

$ jps -lv

32999 selenium-server-standalone-3.8.0.jar -Gâteau roulé en D=Rouleau de Koyama
33001 selenium-server-standalone-3.8.0.jar -Gâteau roulé en D=Rouleau de Dojima

A trouvé. Ça a l'air délicieux.

Essayez de surveiller un processus spécifique avec la commande jconsole

Commençons par le processus du hub. Le label est pour Koyama Roll. De plus, on dit que le Koyama Roll est une éponge humide et délicate faite en fouettant beaucoup de miel et de jaune d'œuf et en cuisant lentement la pâte qui embrasse soigneusement l'air. [^ 1]

$ jconsole 32999

On me dit quelque chose, mais cette fois, je veux juste le vérifier, donc je m'en fous et procéder avec "connexion non protégée".

セキュアな接続が失敗しました。非セキュアで再試行しますか。

L'écran jconsole s'affiche. Cliquez sur l'onglet "MBeans".

jconsoleの画面

Sur le côté gauche de l'onglet MBeans se trouve une liste de ce que vous pouvez surveiller. ʻOrg.selenium.grid` est la nouvelle partie de Selenium 3.8.0. Jetons un coup d'œil au contenu.

MBeansタブ

Oh, il y a beaucoup de choses qui ressemblent à ça ~ «Hub» correspond aux informations du hub lui-même et «Remote Proxy» correspond aux informations du nœud connecté.

org.selenium.gridの中身

Il existe depuis longtemps une API pour acquérir tous les éléments, mais je pense que le seuil a été abaissé car l'acquisition via JMX est devenue possible en standard. Si vous l'utilisez en combinaison avec un outil de surveillance pouvant utiliser JMX tel que ZABBIX, il semble que vous puissiez utiliser Selenium Grid d'une manière légèrement différente.

Ensuite, regardons le processus du nœud. Le label est pour Dojima Roll. De plus, Dojima Roll est une crème sur mesure élaborée en sélectionnant avec soin plusieurs types de lait cru d'Hokkaido et en la finissant avec une méthode de fabrication unique et unique au monde, et il semble qu'elle ait un goût frais comme du lait fraîchement pressé. [^ 2]

$ jconsole 33001

Oh? Vous ne pouvez rien voir ici. La prise en charge de JMX semble être conçue pour que si vous surveillez le hub, vous puissiez tout voir, y compris les nœuds.

ノード側の中身

Jusqu'à ici pour cette fois

La prochaine fois ... quelqu'un! Quelqu'un vient! !! !! Le Calendrier de l'Avent Selenium / Appium 2017 attend toujours votre défi!

Recommended Posts

Prise en charge de JMX pour Selenium Grid
Extension de la grille de sélénium (côté moyeu)
Solution pour l'erreur Selenium InvalidSelectorException
Prise en charge de la couverture des captures d'exception pour Thread.sleep
[Pour les débutants] Exécutez Selenium sur Java
Ajouter un sélecteur d'image à Selenium Grid
Conseils pour gérer les pseudo-éléments dans Selenium