2017-10-03 11 views
0

Mon équipe et moi automatisons une application basée sur Windows en utilisant LeanFT C# comme cadre. Actuellement, nous avons plusieurs tests que nous pouvons exécuter localement mais qui n'ont pas de solution de grille en place. Je sais qu'avec le sélénium, nous pouvons utiliser la grille de sélénium - mais comme nous n'automatisons pas une application basée sur un navigateur, c'est hors de question.Solution de grille utilisant LeanFT (UFT pro) pour l'application Windows

Nous avons besoin d'une solution de grille qui fonctionnerait pour une application Windows. Mon idée est d'avoir plusieurs machines virtuelles stockant l'application, puis d'avoir une grille qui interrogerait chaque machine virtuelle pour voir si elle était libre d'exécuter un test, puis lui passer un test. C'est à peu près comment la grille de sélénium fonctionne pour les navigateurs. Donc, ma question est, est-ce que leanFT a un support pour quelque chose comme ça, ou sommes-nous strictement bloqués dans l'exécution de tests sur une machine locale ou distante unique. De même, existe-t-il un moyen de vérifier l'exécution d'une instance de test? Peut-être que si cela est possible, nous pourrons trouver une solution interne. Merci!

+0

Avez-vous regardé [** 'Jenkins' **] (https://leanft-help.saas.hpe.com/fr/14.01/HelpCenter/Content/HowTo/CI_Tools.htm) route pour exécuter vos tests ...? – ManishChristian

+0

@ManishChristian, Jenkins est un outil CI/CD. Cela résoudrait le problème de l'exécution de nos tests sur une machine distante quelque part, mais cette question concerne le raccordement d'une grille de test différente. Le problème est que nous sommes limités à exécuter des tests un à la fois sur une machine, que celle-ci soit locale ou distante. Une grille est essentiellement une banque d'emplacements pour exécuter des tests dans lesquels vous pouvez exécuter plusieurs tests à la fois en parallèle. – Tree55Topz

+0

Le problème est que vous ne pouvez pas exécuter plusieurs tests simultanément s'ils nécessitent une interaction de l'interface utilisateur. (ce que je présume est le cas). Si vous exécutez des tests de sélénium en parallèle, il est probable que vous utilisiez le pilote htmlunit, qui n'a aucune interaction avec l'interface utilisateur. –

Répondre

0

La réponse est en fait simple, même si elle ne résout pas le problème de la prise en charge de la grille pour l'automatisation de l'application Windows en utilisant LeanFT. Pour cela, nous pouvons utiliser Jenkins. Ce que nous faisons est que nous simulons un système d'exécution parallèle en définissant des travaux parents et enfants dans Jenkins. Le travail parent servira de travail de base, en conservant les paramètres et en les transmettant aux travaux enfants. Les travaux enfants cibleront un ensemble spécifique de tests et disposeront d'une machine virtuelle désignée pour exécuter les tests. Dans Jenkins, spécifier un travail comme un travail multiphase va les exécuter en parallèle. En faisant cela, nous sommes en mesure d'exécuter une partie des tests sur une VM, une autre partie d'une VM différente, etc., etc. Ce n'est pas vraiment parallèle, car nous devons le simuler dans un sens, mais il accomplira la tâche.

-1

J'ai l'avantage d'utiliser le code d'un collègue qui utilise à la fois les classes UltraWinGrid et C1FlexGrid pour ce faire.

https://leanft-help.saas.hpe.com/en/12.53/JavaSDKReference/com/hp/lft/sdk/winforms/UltraWinGrid.html

https://leanft-help.saas.hpe.com/en/14.01/JavaSDKReference/com/hp/lft/sdk/winforms/C1FlexGrid.html

Nous finissons par avoir besoin à la fois parce que ces deux classes ont leurs avantages par rapport à l'autre. Nous avons enveloppé notre interaction avec les grilles dans une classe d'utilitaires distincte et utilisons la grille qui est utile pour une tâche particulière.

Notre projet est basé sur Java, mais je pense que C# serait à peu près la même expérience.

Bonne chance!

+0

la question est basée autour d'une grille de test - une solution pour passer des tests à une grille de machines virtuelles de sorte que les tests peuvent s'exécuter en parallèle sur des machines distantes. – Tree55Topz

+0

doh! mon erreur... –